การ query ข้อมูลที่มีวันที่มากกว่าหรือเท่ากับวันที่กำหนด ใช้ operator $gte (greater than or equal) กับ ISODate
สร้างคอลเลกชันและข้อมูลตัวอย่าง
> db.demo91.insertOne({"ArrivalDate":new ISODate("2020-01-10")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2d49fd79799acab037af66") }
> db.demo91.insertOne({"ArrivalDate":new ISODate("2019-12-14")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2d4a0679799acab037af67") }
แสดงข้อมูลทั้งหมด
> db.demo91.find();
ผลลัพธ์:
{ "_id" : ObjectId("5e2d49fd79799acab037af66"), "ArrivalDate" : ISODate("2020-01-10T00:00:00Z") }
{ "_id" : ObjectId("5e2d4a0679799acab037af67"), "ArrivalDate" : ISODate("2019-12-14T00:00:00Z") }
Query หาข้อมูลวันที่ >= 2020-01-10
> db.demo91.find({ArrivalDate: { $gte: ISODate('2020-01-10') } });
ผลลัพธ์
{ "_id" : ObjectId("5e2d49fd79799acab037af66"), "ArrivalDate" : ISODate("2020-01-10T00:00:00Z") }
ได้เฉพาะเอกสารที่ ArrivalDate = 2020-01-10 (เท่ากับ) เอกสาร 2019-12-14 ถูกตัดออก
Operator เปรียบเทียบวันที่ที่ใช้บ่อย:
| Operator | ความหมาย | ตัวอย่าง |
|---|---|---|
$gt | มากกว่า (strictly greater) | {$gt: ISODate("2020-01-10")} → หลัง 10 ม.ค. |
$gte | มากกว่าหรือเท่ากับ | {$gte: ISODate("2020-01-10")} → 10 ม.ค. ขึ้นไป |
$lt | น้อยกว่า | {$lt: ISODate("2020-01-10")} → ก่อน 10 ม.ค. |
$lte | น้อยกว่าหรือเท่ากับ | {$lte: ISODate("2020-01-10")} → 10 ม.ค. ย้อนหลัง |