Top

Pymongo

Um MongoDB zu nutzen kann pymongo verwendet werden.

pip install pymongo

Nachdem man eine Verbindung zum MongoDB Server hergestellt hat, selektiert man eine Datenbank.
Falls die Datenbank noch nicht existiert wird sie automatisch angelegt.

from pymongo import MongoClient

client = MongoClient('mongodb://localhost:27017/')
db = client['python']

Die Collections einer Datenbank bekommt man dann nach dem gleichen Prinzip.

db.collection_names() # list with all collection names

user = db['user']
user = client['python']['user']

Um mit Dokumenten zu arbeiten werden dann entsprechende Methoden genutzt.

user.insert_one({'name': 'User'})

print(list(user.find_one({'name': 'User'})))
print(list(user.find()))
print(list(user.find().sort('name', pymongo.DESCENDING)))
print(list(user.find().limit(3).skip(2)))

print(user.estimated_document_count())

user.delete_one({'name': 'User'})

Um mit ObjectId zu arbeiten wird bson benötigt.

from bson.objectid import ObjectId
from datetime import datetime

pipeline = [
    { '$unwind': '$attrs.tags' },
    { '$match': { 'attrs.tags': 'C', 'attrs.validated': True, 'age': { '$lt': 30 } } }
]

for i in list(user.aggregate(pipeline)):
    user.update_one({'_id': ObjectId(i['_id'])}, {'$set': {'attrs.validated': False}})