MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie lausche ich auf Änderungen an einer MongoDB-Sammlung?

Was Sie denken, klingt sehr nach Triggern. MongoDB hat keine Unterstützung für Trigger, aber einige Leute haben mit einigen Tricks "ihre eigenen gerollt". Der Schlüssel hier ist der oplog.

Wenn Sie MongoDB in einem Replikatsatz ausführen, werden alle MongoDB-Aktionen in einem Betriebsprotokoll (bekannt als Oplog) protokolliert. Das Oplog ist im Grunde nur eine fortlaufende Liste der an den Daten vorgenommenen Änderungen. Replicas Sets funktionieren, indem sie auf Änderungen in diesem Oplog lauschen und die Änderungen dann lokal anwenden.

Kommt Ihnen das bekannt vor?

Ich kann hier nicht den gesamten Prozess beschreiben, es handelt sich um mehrere Seiten Dokumentation, aber die Tools, die Sie benötigen, sind verfügbar.

Zuerst einige Zuschreibungen zum oplog – Kurzbeschreibung – Aufbau des local Sammlung (die das Oplog enthält)

Sie sollten auch Tailable-Cursor nutzen. Diese bieten Ihnen die Möglichkeit, auf Änderungen zu hören, anstatt sie abzufragen. Beachten Sie, dass die Replikation Tailable-Cursors verwendet, daher ist dies eine unterstützte Funktion.