Kueri rentang tanggal selama 24 jam terakhir dalam shell Mongo

15

Saya menetapkan tugas cron untuk mengumpulkan hasil dari profiler database MongoDB. Saya ingin mengumpulkan hasil dalam periode 24 jam. Saya berencana untuk menjalankan perintah mongo dengan javascript .

Pertanyaannya adalah, di shell Mongo , bagaimana cara saya menulis kueri untuk menemukan rentang tanggal 24 jam yang lalu? Seperti:

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

Jawaban:

4
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})
Terima kasih
sumber
4
Tolong jelaskan apa yang kode Anda lakukan dan bagaimana perbedaannya dengan kode yang terlihat dalam jawaban yang diterima.
dezso
1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
rohit chaurasiya
sumber
Anda harus menambahkan detail tentang cara kerjanya dan mengapa ini memperbaiki masalah.
Max Vernon
1
Ada apa dengan "DELIVERY_PENDING" ?!
Dan Dascalescu