To search date between two dates in MongoDB, use $gte and $lt. Let us create a collection with documents −
> 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") }
Display all documents from a collection with the help of find() method −
> db.demo524.find();
This will produce the following output −
{ "_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") }
Following is the query to search data between two dates in MongoDB −
> var first = new ISODate("2020-01-04"); > var last = new ISODate("2020-01-31"); > db.demo524.find({EndDate: {$gte: first, $lt: last}});
This will produce the following output −
{ "_id" : ObjectId("5e8adbe5437efc8605595b63"), "EndDate" : ISODate("2020-01-19T00:00:00Z") } { "_id" : ObjectId("5e8adbec437efc8605595b64"), "EndDate" : ISODate("2020-01-20T00:00:00Z") }