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

Localizar e remover todos os documentos cujo createdDate seja um mês mais antigo


Você pode tentar obter um objeto de data que inclua o mês da data atual (tendo em mente que as datas do mês do JavaScript são um índice baseado em 0) e adicionar 1 para obter a data de um mês a partir de agora, que você pode usar em sua consulta com $gt operador no createdDate campo:
var now = new Date();
d = new Date(now.getFullYear(), now.getMonth()+1, now.getDate());
db.collection.remove({ createdDate: { $gt: d } })

ATUALIZAÇÃO

Para sua segunda pergunta,

Atualmente, o MongoDB não tem suporte para agendamento de trabalho nativo. A maioria dos sistemas operacionais tem uma maneira de executar programas agendados como o cron ou o Agendador de Tarefas do Windows, etc, portanto, como essa é uma pergunta bastante ampla, só posso sugerir que você escreva um script de shell personalizado com o acima que você pode agendar com o Agendador de Tarefas do Windows para ser executado todos os dias .