แบบสอบถามช่วงวันที่สำหรับ 24 ชั่วโมงที่ผ่านมาในเชลล์ Mongo


15

ฉันกำลังตั้งค่างานcronเพื่อรวบรวมผลลัพธ์จากตัวรวบรวมฐานข้อมูล MongoDB ฉันต้องการรวบรวมผลลัพธ์ภายใน 24 ชั่วโมง ผมวางแผนที่จะใช้Mongoคำสั่งกับจาวาสคริปต์

คำถามคือในMongo shellฉันจะเขียนแบบสอบถามเพื่อค้นหาช่วงวันที่ได้อย่างไรจาก 24 ชั่วโมงที่ผ่านมา เช่น:

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

คำตอบ:



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
โปรดอธิบายว่ารหัสของคุณทำอะไรและแตกต่างจากรหัสที่เห็นในคำตอบที่ยอมรับ
dezso

1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )

คุณควรเพิ่มรายละเอียดเกี่ยวกับวิธีการทำงานและสาเหตุที่แก้ไขปัญหา
Max Vernon

1
"DELIVERY_PENDING" คืออะไร!
Dan Dascalescu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.