node.js - Mongo findOne 访问属性问题

标签 node.js mongodb mongoskin

好吧,也许我没有看到它,但这个查询对我来说看起来不错:

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/

相关文章:

java - 我应该如何设计一个 wordpress 后端 + react + java 前端应用程序?

node.js - Mongoose 和新架构 : returns "ReferenceError: Schema is not defined"

node.js - NodeJS/Express/MongoDB - 如何限制 POST 请求中接受的参数?

javascript - 如何使用 mongoskin 指定单独的用户名和密码参数?

node.js - 使用 npm 安装 gulp

javascript - 我如何在 ES5 中的递归匿名函数上应用 TO(尾调用优化)

node.js - 是否可以使用 ruby​​ 附加到正在运行的后台进程?

javascript - 日期-fns RangeError : Invalid time value

python - 使用 pymongo 检查服务器状态并超时

javascript - 你如何在 MongoDB 中检索 "related"文档?