Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cách truy vấn ngày tháng với ISODate trong MongoDB

Để 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();