Consulta de período das últimas 24 horas no shell Mongo


15

Estou definindo uma tarefa cron para coletar resultados do gerenciador de banco de dados do MongoDB. Eu gostaria de coletar resultados dentro de um período de 24 horas. Eu pretendo executar o comando mongo com javascript .

A pergunta é, no shell Mongo , como eu escrevo uma consulta para encontrar um período de 24 horas atrás? Tal como:

db.system.profile.find({
    "timestamp" : {
        $lte : <current date & time>,
        $gt : <date & time 24 hrs ago>
    }
})

Respostas:



4
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})

4
Explique o que seu código faz e como ele é diferente do código visto na resposta aceita.
Dezso

1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )

Você deve adicionar detalhes sobre como isso funciona e por que ele resolve o problema.
Max Vernon

1
O que há com "DELIVERY_PENDING" ?!
Dan Dascalescu
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.