ドライバーを使用している場合は、JSON/BSONでエンコードする必要はありません。 MongoDBシェルを使用している場合は、コンテンツを貼り付けるときに心配する必要があります。
PythonMongoDBドライバー を使用することをお勧めします。 :
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を使用することですが、小さなファイルには推奨されないことがよくあります。
スターター