Requête de plage de dates pour les dernières 24 heures dans le shell Mongo

15

Je configure un travail cron pour collecter les résultats du profileur de base de données MongoDB. Je souhaite collecter les résultats dans un délai de 24 heures. J'ai l'intention d'exécuter la commande mongo avec javascript .

La question est, dans le shell Mongo , comment puis-je écrire une requête pour trouver une plage de dates d'il y a 24 heures? Tel que:

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

Réponses:

4
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})
Thxer
la source
4
Veuillez expliquer ce que fait votre code et en quoi il diffère du code vu dans la réponse acceptée.
dezso
1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
rohit chaurasiya
la source
Vous devez ajouter des détails sur la façon dont cela fonctionne et pourquoi cela résout le problème.
Max Vernon
1
Qu'est-ce que "DELIVERY_PENDING"?!
Dan Dascalescu