MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Speichern des vollständigen Textes aus der TXT-Datei in Mongodb

Sie müssen es nicht mit JSON/BSON codieren, wenn Sie einen Treiber verwenden. Wenn Sie die MongoDB-Shell verwenden, müssen Sie sich darum kümmern, wenn Sie den Inhalt einfügen.

Wahrscheinlich möchten Sie den Python MongoDB-Treiber verwenden :

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)

(Nicht getesteter Code)

Wenn Sie darauf geachtet haben, dass die Dateinamen eindeutig sind, können Sie die _id setzen Eigenschaft des Dokuments und rufen Sie es wie folgt ab:

text_file_doc = collection.find_one({"_id": "test_file_name.txt"})

Oder Sie könnten den file_name sicherstellen Eigenschaft wie oben gezeigt wird indiziert und tun:

text_file_doc = collection.find_one({"file_name": "test_file_name.txt"})

Ihre andere Option ist die Verwendung von GridFS, obwohl dies für kleine Dateien oft nicht empfohlen wird.

Einen Starter gibt es hier für Python und GridFS.