我正在寻找使用 MongoDB Node driver 按 id 查找的最佳方法.
我发现 _id
字段是一个 ObjectId
,因此使用字符串作为 id 不起作用。我看到你 could use ObjectId如下:
var ObjectId = require('mongodb').ObjectId;
exports.show = function(req, res) {
var db = req.app.get('db');
var id = new ObjectId(req.params.id);
db.collection('posts').findOne({
_id: id
}, function(err, post) {
res.status(200).json(post);
});
};
但是有没有最佳实践/更方便的方法?我在查看文档时没有遇到过这样的情况。注意:Mongoose 有一个 findById您可以只使用 id 字符串的方法。
最佳答案
_id 字段已建立索引,并且 findByID 隐式搜索一个文档,因此,findOne
您将像您已经在做的那样传递选项 {_id: id}
。
关于node.js - 如何使用 MongoDB Node 驱动程序通过 id 查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215298/