MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Suchen und entfernen Sie alle Dokumente, deren Erstellungsdatum einen Monat älter ist

Sie könnten versuchen, ein Datumsobjekt zu erhalten, das den Monat des aktuellen Datums aufnimmt (beachten Sie, dass JavaScript-Monatsdaten 0-basierte Indizes sind) und 1 hinzufügen, um das Datum eines Monats von jetzt an zu erhalten, das Sie dann in Ihrer Abfrage mit verwenden können $gt Operator am createdDate Feld:

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

AKTUALISIEREN

Zu Ihrer zweiten Frage

MongoDB bietet derzeit keine Unterstützung für die native Jobplanung. Die meisten Betriebssysteme haben eine Möglichkeit, geplante Programme wie Cron oder Windows Task Scheduler usw. auszuführen. Da dies eine ziemlich weit gefasste Frage ist, kann ich nur vorschlagen, dass Sie ein benutzerdefiniertes Shell-Skript mit dem oben Gesagten schreiben, das Sie mit dem Windows Task Scheduler für die tägliche Ausführung planen können .