sql >> Databasteknik >  >> NoSQL >> MongoDB

Hitta och ta bort alla dokument vars skapade datum är en månad äldre

Du kan försöka skaffa ett datumobjekt som tar in det aktuella datumets månad (med tanke på att JavaScript-månadsdatum är 0-baserat index) och lägg till 1 för att få en månads datum från och med nu, som du sedan kan använda i din fråga med $gt operatorn på createdDate fält:

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

UPPDATERA

För din andra fråga,

MongoDB har för närvarande inget stöd för inbyggd jobbschemaläggning. De flesta operativsystem har ett sätt att köra schemalagda program som cron eller Windows Task Scheduler etc, så eftersom det här är en ganska bred fråga kan jag bara föreslå att du skriver ett anpassat skalskript med ovanstående som du kan schemalägga med Windows Task Scheduler för att köras varje dag .




  1. findAndModify - MongoError:undantag:måste ange borttagning eller uppdatering

  2. ClassCastException under JNDI-sökning för MongoDB, inuti WAB, kör Liberty

  3. MongoDB - stängs av med kod 48

  4. Redis-stödd ASP.NET SessionState-leverantör