sql >> Database >  >> NoSQL >> MongoDB

volledige tekst van txt-bestand opslaan in mongodb

U hoeft het niet in JSON/BSON te coderen als u een stuurprogramma gebruikt. Als u de MongoDB-shell gebruikt, hoeft u zich daar geen zorgen over te maken toen u de inhoud plakte.

U wilt waarschijnlijk het Python MongoDB-stuurprogramma gebruiken :

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)

(Niet-geteste code)

Als u ervoor heeft gezorgd dat de bestandsnamen uniek zijn, kunt u de _id . instellen eigenschap van het document en haal het op als:

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

Of u kunt ervoor zorgen dat de file_name eigenschap zoals hierboven getoond is geïndexeerd en doet:

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

Je andere optie is om GridFS te gebruiken, hoewel het vaak niet wordt aanbevolen voor kleine bestanden.

Er is een starter hier voor Python en GridFS.



  1. MongoDB $mul

  2. Volledige tekst zoeken in Pymongo

  3. Redis uitvoeren op Travis CI

  4. Kan geen Jedis-verbinding krijgen bij gebruik van SSL met Redis en Spring Data Redis