Du måste hämta det dokumentet med dess ObjectID, vilket inte kommer att vara möjligt på den aktuella noden där du avslutar oplog
från eftersom du har fått borttagningsåtgärden från oplog
, dokumentet är borta. Vilket jag tror betyder att du har två val:
- Se till att alla raderingar föregås av en uppdateringsåtgärd som gör att du kan se de dokumentfält du behöver innan du raderar (detta kommer naturligtvis att göra borttagningar dyrare)
- Kör en sekundär med en slavfördröjning och fråga sedan den noden för dokumentet som har tagits bort (antingen direkt eller genom att använda taggar ).
För nummer 2 är problemet en fördröjning som är tillräckligt lång för att garantera att du kan hämta dokumentet och tillräckligt kort för att se till att du får en uppdaterad version av dokumentet. Såvida du inte lägger till versionshantering i dokumentet som en kontroll (som då blir liknande alternativ 1, du skulle troligen vilja uppdatera versionen innan du raderar), måste detta i grunden vara en optimistisk lösning.