MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

memorizzazione del testo completo dal file txt in mongodb

Non è necessario codificarlo in JSON/BSON se si utilizza un driver. Se stai usando la shell MongoDB, dovresti preoccupartene quando hai incollato il contenuto.

Probabilmente vorrai utilizzare il driver 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)

(Codice non testato)

Se ti sei assicurato che i nomi dei file siano univoci, puoi impostare il _id proprietà del documento e recuperarlo come:

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

Oppure puoi assicurarti il ​​file_name la proprietà come mostrato sopra è indicizzata e fare:

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

L'altra opzione è usare GridFS, anche se spesso non è raccomandato per file di piccole dimensioni.

C'è uno starter qui per Python e GridFS.