MongoDB 3.6
podporuje $changeStream
funkce pro sledování změn ve sbírce.
Například pomocí PyMongo kompatibilního s MongoDB 3.6:
for change in db.collection.watch():
print(change)
Vrácený ChangeStream se automaticky obnoví, když během iterace narazí na potenciálně odstranitelnou chybu. Proces obnovení je pro aplikaci transparentní a zajišťuje, že se neztratí žádné dokumenty toku změn.
Další příklad sledování všech vložek, které se dějí v kolekci pomocí 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('...')