MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Consulta nos gatilhos de exclusão do MongoDB


Você tem que buscar esse documento pelo seu ObjectID, o que não será possível no nó atual que você está seguindo o oplog de porque no momento em que você recebeu a operação de exclusão do oplog , o documento desapareceu. O que eu acredito significa que você tem duas opções:
  1. Certifique-se de que todas as exclusões sejam precedidas por uma operação de atualização que permita que você veja os campos do documento necessários antes da exclusão (isso tornará as exclusões mais caras, é claro)
  2. Execute um secundário com um atraso escravo e, em seguida, consulte esse nó para o documento que foi excluído (diretamente ou usando etiquetas ).

Para o número 2, o problema é ter um atraso longo o suficiente para garantir que você possa buscar o documento e curto o suficiente para ter certeza de que está recebendo uma versão atualizada do documento. A menos que você adicione controle de versão ao documento como uma verificação (que está ficando semelhante à opção 1, você provavelmente gostaria de atualizar a versão antes de excluir), isso teria que ser essencialmente uma solução otimista e de melhor esforço.