sql >> Databasteknik >  >> NoSQL >> MongoDB

Fråga på MongoDB Delete Triggers

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:

  1. 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)
  2. 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.




  1. Hur frågar man efter datumintervall på MongoDB-samlingen där ISO-datumet lagras i strängfältet?

  2. Hur man installerar och konfigurerar MongoDB på Ubuntu

  3. MongoDB kan inte analysera fråga (2dsphere):två villkor

  4. Öka automatiskt i MongoDB för att lagra sekvens av unikt användar-ID