MongoDB 3.6
admite $changeStream
función para ver los cambios en una colección.
Por ejemplo usando PyMongo compatible con MongoDB 3.6:
for change in db.collection.watch():
print(change)
El ChangeStream devuelto se reanuda automáticamente cuando encuentra un error potencialmente recuperable durante la iteración. El proceso de reanudación es transparente para la aplicación y garantiza que no se pierdan documentos del flujo de cambios.
Otro ejemplo para ver todas las inserciones que están ocurriendo en una colección usando 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('...')