MongoDB 3.6
understøtter $changeStream
funktion for at se ændringer på en samling.
For eksempel ved at bruge PyMongo, der er kompatibel med MongoDB 3.6:
for change in db.collection.watch():
print(change)
Den returnerede ChangeStream genoptages automatisk, når den støder på en potentielt genskabelig fejl under iteration. Genoptagelsesprocessen er gennemsigtig for applikationen og sikrer, at ingen ændringsstrømdokumenter går tabt.
Endnu et eksempel for at se alle inserts, der sker på en samling ved hjælp af 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('...')