ISODate is not defined


Question

I am trying to get results from mongodb using nodejs/mongoose.

var dateStr = new Date(year,month,day,0,0,0);
var nextDate = new Date(year,month,day,23,59,59);

GPSData.find({"createdAt" : { $gte : new ISODate(dateStr), $lte:  new ISODate(nextDate) }}, function(err, data) {
  if(err)
    console.log(err); 
});

Error: ISODate is not defined

1
25
1/13/2012 9:24:55 AM

Accepted Answer

Note that ISODate is a part of MongoDB and is not available in your case. You should be using Date instead and the MongoDB drivers(e.g. the Mongoose ORM that you are currently using) will take care of the type conversion between Date and ISODate behind the scene.

45
1/13/2012 11:08:29 AM

You can simply use as follow to convert dates in ISO string :

GPSData.find({"createdAt" : { $gte : new Date(year,month,day,0,0,0).toISOString(), $lte:  new Date(year,month,day,23,59,59).toISOString() }}, function(err, data) {
  if(err)
    console.log(err); 
});

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon