Return query based on date in MongoDB?

To return query based on the date in MongoDB, use date range operators like $gte, $gt, $lte, and $lt with ISODate objects to filter documents by date fields.

Syntax

db.collection.find({
    "dateField": { $gte: ISODate("YYYY-MM-DDTHH:mm:ssZ") }
});

Sample Data

Let us create a collection with passenger data containing arrival dates ?

db.returnQueryFromDate.insertMany([
    {
        "PassengerName": "John",
        "PassengerAge": 23,
        "PassengerArrivalTime": ISODate("2018-03-10T14:45:56Z")
    },
    {
        "PassengerName": "Larry", 
        "PassengerAge": 21,
        "PassengerArrivalTime": ISODate("2018-05-19T11:10:23Z")
    },
    {
        "PassengerName": "Mike",
        "PassengerAge": 24,
        "PassengerArrivalTime": ISODate("2018-08-25T16:40:12Z")
    },
    {
        "PassengerName": "Carol",
        "PassengerAge": 26,
        "PassengerArrivalTime": ISODate("2019-01-29T09:45:10Z")
    }
]);
{
    "acknowledged": true,
    "insertedIds": [
        ObjectId("5c8a57be9064dcd4a68b70e4"),
        ObjectId("5c8a57bf9064dcd4a68b70e5"),
        ObjectId("5c8a57bf9064dcd4a68b70e6"),
        ObjectId("5c8a57bf9064dcd4a68b70e7")
    ]
}

Example: Query Documents After Specific Date

Find all passengers who arrived on or after May 19, 2018 ?

db.returnQueryFromDate.find({
    "PassengerArrivalTime": { $gte: ISODate("2018-05-19T11:10:23Z") }
});
{
    "_id": ObjectId("5c8a57bf9064dcd4a68b70e5"),
    "PassengerName": "Larry",
    "PassengerAge": 21,
    "PassengerArrivalTime": ISODate("2018-05-19T11:10:23Z")
}
{
    "_id": ObjectId("5c8a57bf9064dcd4a68b70e6"),
    "PassengerName": "Mike", 
    "PassengerAge": 24,
    "PassengerArrivalTime": ISODate("2018-08-25T16:40:12Z")
}
{
    "_id": ObjectId("5c8a57bf9064dcd4a68b70e7"),
    "PassengerName": "Carol",
    "PassengerAge": 26,
    "PassengerArrivalTime": ISODate("2019-01-29T09:45:10Z")
}

Date Range Operators

Operator Description Example
$gte Greater than or equal Date >= specified date
$gt Greater than Date > specified date
$lte Less than or equal Date
$lt Less than Date

Conclusion

Use MongoDB's date range operators with ISODate objects to efficiently query documents based on date conditions. The $gte, $gt, $lte, and $lt operators provide flexible date filtering capabilities.

Updated on: 2026-03-15T00:08:16+05:30

395 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements