MongoDB 3.6
prend en charge $changeStream
fonctionnalité pour surveiller les changements sur une collection.
Par exemple en utilisant PyMongo compatible avec MongoDB 3.6 :
for change in db.collection.watch():
print(change)
Le ChangeStream retourné reprend automatiquement lorsqu'il rencontre une erreur potentiellement récupérable pendant l'itération. Le processus de reprise est transparent pour l'application et garantit qu'aucun document de flux de modifications n'est perdu.
Un autre exemple pour regarder toutes les insertions qui se produisent sur une collection en utilisant 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('...')