MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Rechercher et supprimer tous les documents dont la date de création est antérieure d'un mois

Vous pouvez essayer d'obtenir un objet date qui prend le mois de la date actuelle (en gardant à l'esprit que les dates de mois JavaScript sont un index basé sur 0) et ajouter 1 pour obtenir la date d'un mois à partir de maintenant, que vous pouvez ensuite utiliser dans votre requête avec $gt opérateur sur createdDate champ :

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

MISE À JOUR

Pour votre deuxième question,

MongoDB ne prend actuellement pas en charge la planification native des tâches. La plupart des systèmes d'exploitation ont un moyen d'exécuter des programmes programmés comme cron ou le planificateur de tâches Windows, etc. donc, comme il s'agit d'une question assez large, je ne peux que vous suggérer d'écrire un script shell personnalisé avec ce qui précède que vous pouvez programmer avec le planificateur de tâches Windows pour qu'il s'exécute tous les jours. .