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

Comment puis-je supprimer des enregistrements plus anciens d'une collection dans MongoDB ?

Pour supprimer des documents avant Date, votre commande doit être :

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(YEAR, MONTH, DATE) } })

Pour supprimer des enregistrements avant 1er octobre 2017, la commande sera :

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(2017, 9, 1) } })

Octobre est le 10ème mois. Si le champ du mois est indexé à zéro, nous utilisons 9, sinon nous utilisons 10.

................................

Cela supprimera tous les enregistrements de plus de sept jours :

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(Date.now() - 7*24*60*60 * 1000) } })

Mise à jour : collection.remove est obsolète