MongoDB 3.6
supporta $changeStream
funzione per guardare le modifiche su una raccolta.
Ad esempio, utilizzando PyMongo compatibile con MongoDB 3.6:
for change in db.collection.watch():
print(change)
Il ChangeStream restituito riprende automaticamente quando rileva un errore potenzialmente recuperabile durante l'iterazione. Il processo di ripristino è trasparente per l'applicazione e garantisce che i documenti del flusso di modifiche non vadano persi.
Un altro esempio per guardare tutti gli inserti che stanno accadendo su una raccolta utilizzando PyMongo :
try:
for insert_change in db.collection.watch(
[{'$match': {'operationType': 'insert'}}]):
print(insert_change)
except pymongo.errors.PyMongoError:
# We know it's unrecoverable:
log.error('...')