Не е необходимо да го кодирате JSON/BSON, ако използвате драйвер. Ако използвате обвивката на MongoDB, трябва да се тревожите за това, когато поставите съдържанието.
Вероятно бихте искали да използвате драйвера Python MongoDB :
from pymongo import MongoClient
client = MongoClient()
db = client.test_database # use a database called "test_database"
collection = db.files # and inside that DB, a collection called "files"
f = open('test_file_name.txt') # open a file
text = f.read() # read the entire contents, should be UTF-8 text
# build a document to be inserted
text_file_doc = {"file_name": "test_file_name.txt", "contents" : text }
# insert the contents into the "file" collection
collection.insert(text_file_doc)
(Нетестван код)
Ако сте се уверили, че имената на файловете са уникални, можете да зададете _id
свойство на документа и го извлечете като:
text_file_doc = collection.find_one({"_id": "test_file_name.txt"})
Или можете да осигурите file_name
свойството, както е показано по-горе, се индексира и прави:
text_file_doc = collection.find_one({"file_name": "test_file_name.txt"})
Другата ви възможност е да използвате GridFS, въпреки че често не се препоръчва за малки файлове.
Има начален тук за Python и GridFS.