如何在MongoDB中的两个日期之间搜索日期?

要在MongoDB中的两个日期之间搜索日期,请使用$gte和$lt。让我们创建一个包含文档的集合-

> 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")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo524.find();

这将产生以下输出-

{ "_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") }

以下是在MongoDB中两个日期之间搜索数据的查询-

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

这将产生以下输出-

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