Du behöver inte JSON/BSON-koda den om du använder en drivrutin. Om du använder MongoDB-skalet skulle du behöva oroa dig för det när du klistrade in innehållet.
Du skulle förmodligen vilja använda Python MongoDB-drivrutinen :
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)
(Otestad kod)
Om du såg till att filnamnen är unika kan du ställa in _id
egenskapen för dokumentet och hämta det som:
text_file_doc = collection.find_one({"_id": "test_file_name.txt"})
Eller så kan du kontrollera file_name
egenskapen som visas ovan indexeras och gör:
text_file_doc = collection.find_one({"file_name": "test_file_name.txt"})
Ditt andra alternativ är att använda GridFS, även om det ofta inte rekommenderas för små filer.
Det finns en förrätt här för Python och GridFS.