MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Répliquer uniquement les documents où {'public':true} dans MongoDB

MongoDB (à partir de la version 2.0.6) ne prend pas en charge la réplication filtrée.

Cependant ... il vous sera peut-être possible d'implémenter votre propre schéma pour mettre à jour les enregistrements en fonction d'un curseur personnalisable de oplog de MongoDB . Le oplog.rs local La collection plafonnée est le même mécanisme utilisé pour relayer les modifications aux membres d'un jeu de réplicas et inclut des détails pour les insertions, les suppressions et les mises à jour.

Pour un exemple de cette technique, consultez ce billet de blog : Création de déclencheurs pour MongoDB .

Dans votre cas, les actions seraient quelque chose comme :

  • copier l'enregistrement de la collection A vers B s'il est inséré ou mis à jour avec public:true
  • supprimer l'enregistrement de la collection B s'il est supprimé ou mis à jour dans la collection A avec public:false