MongoDB 3.6
поддържа $changeStream
функция за гледане на промени в колекция.
Например използване на PyMongo, съвместим с MongoDB 3.6:
for change in db.collection.watch():
print(change)
Върнатият ChangeStream автоматично се възобновява, когато срещне потенциално възстановима грешка по време на итерация. Процесът на възобновяване е прозрачен за приложението и гарантира, че няма загуба на документи от потока на промените.
Друг пример за гледане на всички вмъквания, които се случват в колекция с помощта на 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('...')