mongodbmongodb-query

MongoDB - return query based on date


I have a data like this in mongodb

{ 
    "latitude" : "", 
    "longitude" : "", 
    "course" : "", 
    "battery" : "0", 
    "imei" : "0", 
    "altitude" : "F:3.82V", 
    "mcc" : "07", 
    "mnc" : "007B", 
    "lac" : "2A83", 
    "_id" : ObjectId("4f0eb2c406ab6a9d4d000003"), 
    "createdAt" : ISODate("2012-01-12T20:15:31Z") 
}

How do I query db.gpsdatas.find({'createdAt': ??what here??}), so that it returns the above data result to me from the db?


Solution

  • You probably want to make a range query, for example, all items created after a given date:

    db.gpsdatas.find({"createdAt" : { $gte : new ISODate("2012-01-12T20:15:31Z") }});
    

    I'm using $gte (greater than or equals), because this is often used for date-only queries, where the time component is 00:00:00.

    If you really want to find a date that equals another date, the syntax would be

    db.gpsdatas.find({"createdAt" : new ISODate("2012-01-12T20:15:31Z") });