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

Replica solo i documenti in cui {'public':true} in MongoDB

MongoDB (come in 2.0.6) non ha il supporto per la replica filtrata.

Tuttavia... potrebbe essere possibile implementare il proprio schema per aggiornare i record in base a un cursore di coda di oplog di MongoDB . Il oplog.rs locale la raccolta limitata è lo stesso meccanismo utilizzato per inoltrare le modifiche ai membri di un set di repliche e include dettagli per inserimenti, eliminazioni e aggiornamenti.

Per un esempio di questa tecnica, vedere questo post del blog: Creazione di trigger per MongoDB .

Nel tuo caso le azioni sarebbero qualcosa del tipo:

  • copia il record dalla raccolta A a B se è inserito o aggiornato con public:true
  • rimuove il record dalla raccolta B se viene eliminato o aggiornato nella raccolta A con public:false