findOne 有效但没有得到 all/find

findOne works but not get all/find

findOne 工作正常

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

我正在尝试获取所有文档,而不是一个。我正在将 findOne 更改为 find(如下所示),但它不起作用。我该如何解决这个问题?

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

错误信息: 它说无法调用未定义的方法 "find",这意味着该集合未被识别。

更新: 这也不起作用:

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

您似乎正在使用 Native MongoDB Node.JS Driver to query your database. According to its readme, you should use .toArray() method to instantiate MongoDB cursor,从 .find() 调用返回:

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

如果您在使用本机 MongoDB Node.JS 驱动程序时遇到问题,我建议使用一些更直观的包装器 API,例如: