findOne工作正常
db.collection('updates', function (err, collection) {
collection.findOne({
author: req.user._id
}, function (err, doc) {
}
});
我试图获取所有文件,而不只是一个。我正在改变findOne找到(如下所示)并且它不起作用。我该如何解决这个问题?
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) {
}
});
答案 0 :(得分:4)
看起来您正在使用Native MongoDB Node.JS Driver来查询数据库。 According to its readme,您应该使用.toArray()
方法实例化MongoDB cursor,从.find()
调用返回:
collection.find({
author: req.user._id
}).toArray(function (err, docs) {
// docs is an Array of documents here
});
如果您遇到Native MongoDB Node.JS驱动程序的问题,我建议使用更直观的API使用一些包装器,例如: