无法在MongoDB中的两个日期之间查询数据

时间:2017-04-01 10:49:17

标签: node.js mongodb

db.test.find({"date":{$gte:"2017-04-11",$lt:"2017-04-13"}},function(err,doc){
      console.log("date function called");
    res.json(doc);

    console.log(doc);
});

代码在mongodb和输出中工作正常,但在nodejs中输出为空数组。

1 个答案:

答案 0 :(得分:0)

  

可以使用find查询集合。查询的结果实际上是游标对象。这可以直接使用或转换为数组。 querySelectorAll()

     

cursor.toArray(function(err, docs){})将游标对象转换为所有匹配记录的数组。可能是检索结果最方便的方法,但每个记录都加载到内存时要小心大数据集。 Making queries with find()

     

mongo shell使用ISODate帮助程序包装Date类型的对象;但是,对象仍为Date类型。 toArray

var collection = db.collection('test');
collection.find({ "date": { $gte: new Date("2017-04-11"), $lt: new Date("2017-04-13") } })
  .toArray(function (err, doc) {
    console.log("date function called");
    if (err) {
      console.error(err);
    } else {
      console.log(doc);
      res.json(doc);
    }
  });