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中输出为空数组。
答案 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);
}
});