Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

หาเอกสารระหว่างสองวันที่ใน MongoDB ($gte, $lt)

ใช้ Operator $gte (Greater Than or Equal) และ $lt (Less Than) เพื่อหาเอกสารที่วันที่อยู่ในช่วงระหว่างสองวัน

สร้างข้อมูลตัวอย่าง


> db.order.insert({"OrderId":1,"OrderAddress":"US","OrderDateTime":ISODate("2019-02-19")});
WriteResult({ "nInserted" : 1 })
> db.order.insert({"OrderId":2,"OrderAddress":"UK","OrderDateTime":ISODate("2019-02-26")});
WriteResult({ "nInserted" : 1 })

แสดงเอกสารทั้งหมด


> db.order.find().pretty();

{ "_id" : ObjectId("5c6c072068174aae23f5ef57"), "OrderId" : 1, "OrderAddress" : "US", "OrderDateTime" : ISODate("2019-02-19T00:00:00Z") }
{ "_id" : ObjectId("5c6c073568174aae23f5ef58"), "OrderId" : 2, "OrderAddress" : "UK", "OrderDateTime" : ISODate("2019-02-26T00:00:00Z") }

Query OrderDateTime ระหว่าง 2019-02-10 ถึง 2019-02-21 (ไม่รวม 21)


> db.order.find({
    "OrderDateTime": {
        $gte: ISODate("2019-02-10"),
        $lt: ISODate("2019-02-21")
    }
}).pretty();

ผลลัพธ์ (เฉพาะ OrderId 1 วันที่ 19 กุมภาพันธ์)


{ "_id" : ObjectId("5c6c072068174aae23f5ef57"), "OrderId" : 1, "OrderAddress" : "US", "OrderDateTime" : ISODate("2019-02-19T00:00:00Z") }

ใช้ $gte สำหรับวันที่เริ่มต้น (รวม) และ $lt สำหรับวันที่สิ้นสุด (ไม่รวม) เป็นรูปแบบมาตรฐานสำหรับ Date Range Query