MongoDB 3.6
$changeStream
をサポートします コレクションの変更を監視する機能。
たとえば、MongoDB 3.6と互換性のあるPyMongoを使用する場合:
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('...')