MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come ascoltare le modifiche a una raccolta MongoDB?

Quello a cui stai pensando suona molto come trigger. MongoDB non ha alcun supporto per i trigger, tuttavia alcune persone hanno "rollato il proprio" usando alcuni trucchi. La chiave qui è l'oplog.

Quando esegui MongoDB in un set di repliche, tutte le azioni di MongoDB vengono registrate in un registro delle operazioni (noto come oplog). L'oplog è fondamentalmente solo un elenco in esecuzione delle modifiche apportate ai dati. I set di repliche funzionano ascoltando le modifiche su questo oplog e quindi applicando le modifiche localmente.

Ti suona familiare?

Non posso dettagliare l'intero processo qui, sono diverse pagine di documentazione, ma gli strumenti di cui hai bisogno sono disponibili.

Prima alcune scritture sull'oplog- Breve descrizione- Layout del local collection (che contiene l'oplog)

Dovrai anche sfruttare i cursori a coda. Questi ti forniranno un modo per ascoltare le modifiche invece di eseguirne il polling. Tieni presente che la replica utilizza i cursori a coda, quindi questa è una funzionalità supportata.