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) {
}
错误信息:
它说无法调用未定义的方法“查找”,这意味着该集合未被识别。
更新:
这也不起作用:
db.collection('updates', function (err, collection) {
collection.find({ //changed findOne to find
author: req.user._id
}, function (err, doc) {
}
});
看起来你正在使用本机 MongoDB Node.JS 驱动程序 https://github.com/mongodb/node-mongodb-native查询您的数据库。根据其自述文件 https://github.com/mongodb/node-mongodb-native#find-all-documents,你应该使用.toArray()
实例化方法MongoDB 游标 http://docs.mongodb.org/manual/core/cursors/,返回自.find()
call:
collection.find({
author: req.user._id
}).toArray(function (err, docs) {
// docs is an Array of documents here
});
如果您在使用原生 MongoDB Node.JS 驱动程序时遇到问题,我建议使用一些带有更直观 API 的包装器,例如:
- mongojs https://github.com/mafintosh/mongojs
- monk https://github.com/Automattic/monk
- 蒙古皮 https://github.com/kissjs/node-mongoskin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)