我是Web开发的新手,并想知道为什么mongoose的 cursor 方法只返回集合中的第一个文档,而不是所有文档?
我的目标是将这些文件传递给玉石模板。
我正在使用MongoDB和Express
代码:
var array = [];
var stream = MyModel.find({}).cursor();
stream.on('data',function(task){
array.push(task)
});
stream.on('error', function(err){
//Handle error
});
stream.on('close', function(){
res.render('dashboard', { title: 'Dashboard', csrfToken: req.csrfToken(), array: array});
});
由于我是新手,因此我的“代码行话”可能不会被发现,所以我很乐意在必要时指定。
答案 0 :(得分:0)
您可以尝试类似
的内容MyModel.find({},function(err,docs){
res.render('dashboard', { title: 'Dashboard', csrfToken: req.csrfToken(), array: docs});
});
根据mongoose doc,您可以附加回调查询,因此它会将光标转换为文档数组。