sql >> Database >  >> NoSQL >> MongoDB

Zoek en verwijder alle documenten waarvan de aangemaakte datum een ​​maand ouder is

U kunt proberen een datumobject te krijgen dat de maand van de huidige datum inneemt (rekening houdend met het feit dat JavaScript-maanddatums een op 0 gebaseerde index zijn) en 1 toevoegen om de datum van één maand vanaf nu te krijgen, die u vervolgens in uw zoekopdracht kunt gebruiken met $gt operator op de createdDate veld:

var now = new Date();
d = new Date(now.getFullYear(), now.getMonth()+1, now.getDate());
db.collection.remove({ createdDate: { $gt: d } })

UPDATE

Voor uw tweede vraag,

MongoDB biedt momenteel geen ondersteuning voor native taakplanning. De meeste besturingssystemen hebben een manier om geplande programma's zoals cron of Windows Task Scheduler enz. Uit te voeren, dus aangezien dit een vrij brede vraag is, kan ik u alleen maar aanraden een aangepast shellscript te schrijven met het bovenstaande dat u kunt plannen met Windows Task Scheduler om elke dag te worden uitgevoerd .




  1. Belachelijk trage mongoDB-query op kleine verzameling in eenvoudige maar grote database

  2. Hoe kan ik mongodb opvragen met mongoid/rails zonder time-out?

  3. arrayFilters op mongodb php-update

  4. MongoDB :documenten opvragen met twee gelijke velden, $match en $eq