ISODate未定义

cou*_*011 30 mongoose node.js

我试图使用nodejs/mongoose从mongodb获得结果.

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); 
});
Run Code Online (Sandbox Code Playgroud)

错误: ISODate is not defined

qia*_*iao 52

请注意,它ISODate是MongoDB的一部分,在您的情况下不可用.您应该使用Date而不是MongoDB驱动程序(例如您当前使用的Mongoose ORM)将负责场景之间DateISODate之后的类型转换.

  • 但事实并非如此.它创建一个字符串. (9认同)
  • 答案是正确的。包含示例的更详细答案:http://stackoverflow.com/a/21286896/275183 (2认同)

est*_*ezg 7

就我而言,我正在使用 ISODates 转换查询

let dateString = "2014-01-22T14:56:59.301Z";

$gte : ISODate(dateStr)
Run Code Online (Sandbox Code Playgroud)

在 node.js 中是

$gte : new Date(dateStr)
Run Code Online (Sandbox Code Playgroud)