web-dev-qa-db-fra.com

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

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. Je prévois d'exécuter la commande mongo avec javascript.

La question est, dans Mongo Shell, 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>
    }
})
15
Howard Lee

Réponse trouvée ici: https://stackoverflow.com/questions/1296358/subtract-days-from-a-date-in-javascript

db.system.profile.find({ 
  "timestamp" : { 
    $lt: new Date(), 
    $gte: new Date(new Date().setDate(new Date().getDate()-1))
  }   
})
33
Howard Lee
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})
4
Thxer
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
1
rohit chaurasiya