Nie musisz kodować go w formacie JSON/BSON, jeśli używasz sterownika. Jeśli używasz powłoki MongoDB, musisz się tym martwić podczas wklejania zawartości.
Prawdopodobnie chciałbyś użyć sterownika Pythona 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)
(Nieprzetestowany kod)
Jeśli upewniłeś się, że nazwy plików są unikalne, możesz ustawić _id
właściwość dokumentu i pobierz ją w następujący sposób:
text_file_doc = collection.find_one({"_id": "test_file_name.txt"})
Możesz też upewnić się, że file_name
właściwość, jak pokazano powyżej, jest indeksowana i wykonaj:
text_file_doc = collection.find_one({"file_name": "test_file_name.txt"})
Inną opcją jest użycie GridFS, chociaż często nie jest to zalecane w przypadku małych plików.
Jest starter tutaj dla Pythona i GridFS.