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

Find og fjern alle dokumenter, hvis oprettelsesdato er en måned ældre

Du kan prøve at få et datoobjekt, der tager den aktuelle dato måned (med tanke på, at JavaScript-månedsdatoer er 0-baseret indeks) og tilføje 1 for at få en måneds dato fra nu, som du derefter kan bruge i din forespørgsel med $gt operator på createdDate felt:

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

OPDATERING

Til dit andet spørgsmål,

MongoDB har i øjeblikket ingen understøttelse af indbygget jobplanlægning. De fleste operativsystemer har en måde at køre planlagte programmer som cron eller Windows Task Scheduler osv., så da dette er et ret bredt spørgsmål, kan jeg kun foreslå, at du skriver et brugerdefineret shell-script med ovenstående, som du kan planlægge med Windows Task Scheduler til at køre hver dag .




  1. mongoengine-gemmemetoden er forældet?

  2. Mongoose opdateringsdokument Mislykkedes med findByIdAndUpdate

  3. Håndtering af langsomme forespørgsler i MongoDB

  4. Bliver jeg overopkrævet af Azure Cosmo DB til 45 MB database?