Abfrage des Datumsbereichs für die letzten 24 Stunden in der Mongo-Shell

15

Ich setze einen Cron- Job, um Ergebnisse vom MongoDB-Datenbankprofiler zu sammeln. Ich möchte innerhalb von 24 Stunden Ergebnisse sammeln. Ich habe vor, den Befehl mongo mit Javascript auszuführen .

Frage ist, in Mongo Shell , wie schreibe ich eine Abfrage, um einen Datumsbereich von vor 24 Stunden zu finden? Sowie:

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

Antworten:

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
quelle
4
Bitte erläutern Sie, was Ihr Code bewirkt und inwiefern er sich von dem in der akzeptierten Antwort angegebenen Code unterscheidet.
Dezso
1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
rohit chaurasiya
quelle
Sie sollten Details dazu hinzufügen, wie dies funktioniert und warum es das Problem behebt.
Max Vernon
1
Was ist mit "DELIVERY_PENDING" ?!
Dan Dascalescu