Intervallo di date per le ultime 24 ore nella shell Mongo


15

Sto impostando un lavoro cron per raccogliere risultati dal profiler del database MongoDB. Vorrei raccogliere i risultati entro un periodo di 24 ore. Ho intenzione di eseguire il comando mongo con javascript .

La domanda è, nella shell Mongo , come posso scrivere una query per trovare un intervallo di date di 24 ore fa? Ad esempio:

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

Risposte:



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
Spiega cosa fa il tuo codice e come è diverso dal codice visto nella risposta accettata.
dezso,

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

        }
        )

È necessario aggiungere dettagli su come funziona e perché risolve il problema.
Max Vernon,

1
Che cos'è "DELIVERY_PENDING" ?!
Dan Dascalescu
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.