sql >> Database teknologi >  >> NoSQL >> MongoDB

Forespørgsel på MongoDB Slet triggere

Du skal hente det dokument ved dets ObjectID, hvilket ikke vil være muligt på den aktuelle node, du efterlader oplog fra, fordi du har modtaget slettehandlingen fra oplog , dokumentet er væk. Hvilket jeg tror betyder, at du har to valg:

  1. Sørg for, at alle sletninger er forudgået af en opdateringshandling, som giver dig mulighed for at se de dokumentfelter, du har brug for før sletning (dette vil selvfølgelig gøre sletninger dyrere)
  2. Kør en sekundær med en slaveforsinkelse og forespørg derefter på den node for det dokument, der er blevet slettet (enten direkte eller ved at bruge tags ).

For nummer 2 er problemet at have en forsinkelse, der er lang nok til at garantere, at du kan hente dokumentet, og kort nok til at sikre, at du får en opdateret version af dokumentet. Medmindre du tilføjer versionsstyring til dokumentet som en kontrol (som så bliver lig med mulighed 1, vil du sandsynligvis ønske at opdatere versionen før sletning), skal dette i det væsentlige være en optimistisk, bedste løsning.




  1. Søgning efter datoer og ignorering af tid i mongoDB

  2. Hvad er Redis pubsub, og hvordan bruger jeg det?

  3. Fejl [ERR_HTTP_HEADERS_SENT] Kan ikke indstille overskrifter, efter at de er sendt til klienten

  4. Mongoose Date.now-tiden er ikke nøjagtig