sql >> Database >  >> NoSQL >> MongoDB

Wanneer verloopt een mongodb-document nadat het is bijgewerkt?

Het juiste antwoord is c)

De eigenschap expireAfterSeconds vereist altijd een index op een veld dat een BSON-datum bevat, omdat de inhoud van dit datumveld wordt gebruikt om items voor verwijdering te selecteren.

Als je een update van een document wilt om de time-to-live te resetten, update dan ook het geïndexeerde datumveld naar de huidige tijd.

Als je wilt dat een update geen invloed heeft op de TTL, update dan de datum niet.

Houd er echter rekening mee dat expireAfterSeconds geen onmiddellijke verwijdering van het document garandeert. De verwijderingen worden gedaan door een achtergrondtaak die elke minuut wordt uitgevoerd. Deze taak heeft een lage prioriteit en kan door MongoDB worden uitgesteld wanneer de huidige belasting hoog is. Dus als het voor uw use-case belangrijk is dat de vervaltijden tot op de seconde nauwkeurig worden gerespecteerd, moet u een extra controle op applicatieniveau toevoegen.

Deze functie is hier gedocumenteerd:http://docs.mongodb.org/manual/ tutorial/expire-data/



  1. Service 'MongoDB Server' (MongoDB) kan niet worden gestart. Controleer of u voldoende rechten heeft om systeemservices te starten

  2. Wijzig de volgorde waarin eigenschappen worden weergegeven in MongoDB

  3. Kan niet POST in nodejs en mongodb op openshift

  4. Meerdere zoekopdrachten uitvoeren in mongo`