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

Requête sur les déclencheurs de suppression MongoDB

Vous devez récupérer ce document par son ObjectID, ce qui ne sera pas possible sur le nœud actuel où vous suivez le oplog de parce qu'au moment où vous avez reçu l'opération de suppression de l'oplog , le document a disparu. Ce qui, je crois, signifie que vous avez deux choix :

  1. Assurez-vous que toutes les suppressions sont précédées d'une opération de mise à jour qui vous permet de voir les champs de document dont vous avez besoin avant la suppression (cela rendra les suppressions plus coûteuses bien sûr)
  2. Exécuter un secondaire avec un délai esclave puis interrogez ce nœud pour le document qui a été supprimé (soit directement, soit en utilisant tags ).

Pour le numéro 2, le problème est d'avoir un délai suffisamment long pour garantir que vous pouvez récupérer le document et suffisamment court pour vous assurer que vous obtenez une version à jour du document. À moins que vous n'ajoutiez la version au document en tant que vérification (qui devient alors similaire à l'option 1, vous voudriez probablement mettre à jour la version avant de la supprimer), cela devrait être essentiellement une solution optimiste et optimale.