Để thực hiện truy vấn ngày tháng với ISODate trong MongoDB, bạn sử dụng toán tử $gte (greater than or equal - lớn hơn hoặc bằng) kết hợp với ISODate().
Tạo collection và dữ liệu mẫu
> db.dateDemo.insertOne({"StudentName":"John","StudentAge":26,"AdmissionDate":new ISODate("2013-06-07")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8a65799064dcd4a68b70ea") }
Xem tất cả documents
> db.dateDemo.find().pretty();
{
"_id" : ObjectId("5c8a65799064dcd4a68b70ea"),
"StudentName" : "John",
"StudentAge" : 26,
"AdmissionDate" : ISODate("2013-06-07T00:00:00Z")
}
Truy vấn với ISODate
Tìm các document có AdmissionDate lớn hơn hoặc bằng 2013-06-07T00:00:00Z:
> db.dateDemo.find({"AdmissionDate":{"$gte": ISODate("2013-06-07T00:00:00Z")}}).pretty();
{
"_id" : ObjectId("5c8a65799064dcd4a68b70ea"),
"StudentName" : "John",
"StudentAge" : 26,
"AdmissionDate" : ISODate("2013-06-07T00:00:00Z")
}
Các toán tử ngày tháng phổ biến khác
$lt- nhỏ hơn (less than)$lte- nhỏ hơn hoặc bằng (less than or equal)$gt- lớn hơn (greater than)$gte- lớn hơn hoặc bằng (greater than or equal)$ne- không bằng (not equal)
Bạn có thể kết hợp nhiều điều kiện để truy vấn trong khoảng thời gian:
db.dateDemo.find({
"AdmissionDate": {
"$gte": ISODate("2013-01-01"),
"$lte": ISODate("2013-12-31")
}
}).pretty();