Connessione a MongoDB con Python
Oggi vediamo come connetterci a MongoDB in Python con il modulo pymongo.
Avendo creato un programmino personale, vederemo un esempio più completo rispetto a quelli fatti con altri linguaggi.
Cominciamo con l'installare la libreria:
(venv) $ pip3 install pymongo
Come potete vedere stiamo usando un ambiente virtuale.
Adesso andremo a riempire un db con il nomi dei files presi da una directory.
Inoltre per ogni file usiamo mediainfo per recuperare informazioni sul video; ovviamente potete omettere questa parte.
import os, datetime
from pymongo import MongoClient
now = datetime.datetime.now()
client = MongoClient('localhost', 27017)
db = client.db_films
coll = db.films
coll.drop()
path = "/mnt/DATA/Film"
for count, filename in enumerate(sorted(os.listdir(path)), start=1):
f = "Adaline - L'eterna giovinezza.avi"
cmd = "mediainfo /mnt/DATA/Film/" + '"' + filename.replace("'", "'") + '"'
stream = os.popen(cmd)
output = stream.read()
doc = {'titolo': filename, 'info:': output, 'ultima_exec': now}
result = coll.insert_one(doc)
for doc in coll.find():
print(doc)
Nelle ultime leggiamo tutti i records; considerando che questa operazione nel mio programma deve essere fatta una volta al giorno, prima svuoto tutto cancellando la collezione; così evito duplicati.
Fate le modifiche per quello che effettivamente vi serve.
Enjoy!
python mongodb pymongo
Commentami!