sql >> Base de Datos >  >> NoSQL >> MongoDB

Replicar solo documentos donde {'public':true} en MongoDB

MongoDB (en 2.0.6) no tiene soporte para la replicación filtrada.

Sin embargo... es posible que implemente su propio esquema para actualizar registros en función de un cursor adaptable de oplog de MongoDB . El oplog.rs local La colección limitada es el mismo mecanismo que se usa para transmitir cambios a los miembros de un conjunto de réplicas e incluye detalles para inserciones, eliminaciones y actualizaciones.

Para ver un ejemplo de esta técnica, consulte esta publicación de blog: Creación de disparadores para MongoDB .

En tu caso las acciones serían algo como:

  • copie el registro de la colección A a la B si se inserta o actualiza con public:true
  • eliminar el registro de la colección B si se elimina o actualiza en la colección A con public:false