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

Hvornår udløber et mongodb-dokument, efter at det er opdateret?

Det rigtige svar er c)

Egenskaben expireAfterSeconds kræver altid et indeks på et felt, som indeholder en BSON-dato, fordi indholdet af dette datofelt bruges til at vælge poster til fjernelse.

Når du vil have en opdatering af et dokument for at nulstille tid til at leve, skal du også opdatere det indekserede datofelt til det aktuelle klokkeslæt.

Når du ønsker, at en opdatering ikke skal påvirke TTL, skal du bare ikke opdatere datoen.

Husk dog, at expireAfterSeconds ikke garanterer øjeblikkelig sletning af dokumentet. Sletningerne udføres af et baggrundsjob, som kører hvert minut. Dette job har lav prioritet og kan udskydes af MongoDB, når den aktuelle belastning er høj. Så når det er vigtigt for din use-case, at udløbstiderne overholdes nøjagtigt til den anden, bør du tilføje et ekstra tjek på applikationsniveauet.

Denne funktion er dokumenteret her:http://docs.mongodb.org/manual/ tutorial/udløbsdata/



  1. Hvordan tæller du mængden af ​​dokumenter i en MongoDB-samling i Node?

  2. Fem tips til bedre MongoDB-hosting på Azure

  3. Lagring af nogle små (under 1 MB) filer med MongoDB i NodeJS UDEN GridFS

  4. mongoengine - Ignorer ekstra felter til skemavalidering