findOne的作品,但没有得到所有/find

findOne工作正常

db.collection('updates', function (err, collection) { collection.findOne({ author: req.user._id }, function (err, doc) { } }); 

我试图把所有的文件,而不是一个。 我正在改变findOnefind(如下所示),它不起作用。 我该如何解决?

  db.updates.find({ author: req.user._id }, function (err, doc) { } 

错误消息:这是说不能调用未定义的方法“查找”,这意味着集合不被识别。

更新:这不起作用:

 db.collection('updates', function (err, collection) { collection.find({ //changed findOne to find author: req.user._id }, function (err, doc) { } }); 

它看起来像你使用本机MongoDB Node.JS驱动程序来查询您的数据库。 根据自述 ,您应该使用.toArray()方法来实例化从.find()调用返回的MongoDB游标 :

 collection.find({ author: req.user._id }).toArray(function (err, docs) { // docs is an Array of documents here }); 

如果您在使用Native MongoDB Node.JS驱动程序时遇到麻烦,我会build议您使用一些更直观的API来封装它,例如:

  • mongojs
  • mongoskin