MongoDB 3.6
unterstützt $changeStream
Funktion zum Beobachten von Änderungen an einer Sammlung.
Verwenden Sie zum Beispiel PyMongo, das mit MongoDB 3.6 kompatibel ist:
for change in db.collection.watch():
print(change)
Der zurückgegebene ChangeStream wird automatisch fortgesetzt, wenn er während der Iteration auf einen möglicherweise behebbaren Fehler stößt. Der Wiederaufnahmeprozess ist für die Anwendung transparent und stellt sicher, dass keine Change-Stream-Dokumente verloren gehen.
Ein weiteres Beispiel, um alle Einfügungen zu beobachten, die in einer Sammlung mit PyMongo stattfinden :
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('...')