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

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

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

        }
        )

Anda harus menambahkan detail tentang cara kerjanya dan mengapa ini memperbaiki masalah.
Max Vernon

1
Ada apa dengan "DELIVERY_PENDING" ?!
Dan Dascalescu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.