好吧,也许我没有看到它,但这个查询对我来说看起来不错:
db.bind('links');
db.links.findOne({ short_id: req.params.id }, function(err, link) {
console.log(link["post_id"]); // I also tried console.log(link.post_id)
res.jsonp(link);
});
但错误显示:“TypeError:无法读取 null 的属性‘post_id’”。然后我尝试删除该 console.log,我在浏览器上得到了输出,因此链接不为空,它有一些值(value),但为什么在访问它的属性时会出现错误,有什么想法吗?
最佳答案
好吧,这毕竟不是 mongo 问题,这是我的路线...... 因为我的路由结构类似于/,/:id?,并且由于某种原因代码被调用了两次,第一次有效,但第二次为 null。
所以我所要做的就是检查 id 是否存在:
router.get('/:id?', function(req, res) {
var id = req.params.id;
if (!id) {
next();
return;
}
...
});
关于node.js - Mongo findOne 访问属性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658015/