sql >> Databasteknik >  >> NoSQL >> MongoDB

lagrar fulltext från txt-fil till mongodb

Du behöver inte JSON/BSON-koda den om du använder en drivrutin. Om du använder MongoDB-skalet skulle du behöva oroa dig för det när du klistrade in innehållet.

Du skulle förmodligen vilja använda Python MongoDB-drivrutinen :

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)

(Otestad kod)

Om du såg till att filnamnen är unika kan du ställa in _id egenskapen för dokumentet och hämta det som:

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

Eller så kan du kontrollera file_name egenskapen som visas ovan indexeras och gör:

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

Ditt andra alternativ är att använda GridFS, även om det ofta inte rekommenderas för små filer.

Det finns en förrätt här för Python och GridFS.



  1. Går det att befolka två nivåer?

  2. kunde inte hitta bönan för MongoRepository (Spring Boot)

  3. duplicera en samling i sig själv

  4. Hur konfigurerar jag mongo att köra i docker för att använda en extern enhet på Windows