Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để tìm kiếm ngày giữa hai ngày trong MongoDB?


Để tìm kiếm ngày giữa hai ngày trong MongoDB, hãy sử dụng $ gte và $ lt. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo524.insertOne({"EndDate":new ISODate("2020-01-19")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbe5437efc8605595b63")
}
> db.demo524.insertOne({"EndDate":new ISODate("2020-01-20")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbec437efc8605595b64")
}
> db.demo524.insertOne({"EndDate":new ISODate("2020-12-31")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbf3437efc8605595b65")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo524.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e8adbe5437efc8605595b63"), "EndDate" : ISODate("2020-01-19T00:00:00Z") }
{ "_id" : ObjectId("5e8adbec437efc8605595b64"), "EndDate" : ISODate("2020-01-20T00:00:00Z") }
{ "_id" : ObjectId("5e8adbf3437efc8605595b65"), "EndDate" : ISODate("2020-12-31T00:00:00Z") }

Sau đây là truy vấn để tìm kiếm dữ liệu giữa hai ngày trong MongoDB -

> var first = new ISODate("2020-01-04");
> var last = new ISODate("2020-01-31");
> db.demo524.find({EndDate: {$gte: first, $lt: last}});

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e8adbe5437efc8605595b63"), "EndDate" : ISODate("2020-01-19T00:00:00Z") }
{ "_id" : ObjectId("5e8adbec437efc8605595b64"), "EndDate" : ISODate("2020-01-20T00:00:00Z") }