MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como posso remover registros mais antigos de uma coleção no MongoDB?


Para remover documentos antes de Date, seu comando deve ser:
db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(YEAR, MONTH, DATE) } })

Para remover registros antes 1 de outubro de 2017, o comando será:
db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(2017, 9, 1) } })

Outubro é o 10º mês. Se o campo do mês for indexado a zero, usamos 9, caso contrário, usamos 10.

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

Isso removerá todos os registros com mais de sete dias :
db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(Date.now() - 7*24*60*60 * 1000) } })

Atualização: collection.remove está obsoleta