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

lagring af fuld tekst fra txt-fil i mongodb

Du behøver ikke at JSON/BSON kode det, hvis du bruger en driver. Hvis du bruger MongoDB-skallen, skal du bekymre dig om det, når du indsatte indholdet.

Du vil sandsynligvis gerne bruge Python MongoDB-driveren :

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)

(Utestet kode)

Hvis du sørgede for, at filnavnene er unikke, kan du indstille _id egenskaben for dokumentet og hent det som:

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

Eller du kan sikre dig file_name egenskab som vist ovenfor er indekseret og gør:

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

Din anden mulighed er at bruge GridFS, selvom det ofte ikke anbefales til små filer.

Der er en starter her til Python og GridFS.



  1. Tjek om dokumentet findes i mongodb ved hjælp af es7 async/await

  2. Spring-Data mongodb forespørger på flere klasser gemt i samme samling

  3. Brug af Redis-sæt

  4. MongoDB tilføjer til samlingsfelt fra basis 1