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>
    }
})

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)) 
   } 
})

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) }}
                ]

        }
        )

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.