MongoDB 3.6
obsługuje $changeStream
funkcja do oglądania zmian w kolekcji.
Na przykład użycie PyMongo zgodnego z MongoDB 3.6:
for change in db.collection.watch():
print(change)
Zwrócony ChangeStream jest automatycznie wznawiany po napotkaniu potencjalnie możliwego do naprawienia błędu podczas iteracji. Proces wznawiania jest niewidoczny dla aplikacji i zapewnia, że żadne dokumenty strumienia zmian nie zostaną utracone.
Kolejny przykład do obejrzenia wszystkich wstawek, które mają miejsce w kolekcji przy użyciu 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('...')