Mongo findOne访问属性问题

时间:2014-12-26 13:48:48

标签: 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,我在浏览器上得到了输出,所以链接不是null它有一些价值,但为什么它在访问它的属性,任何想法时都是trowing和错误?

1 个答案:

答案 0 :(得分:1)

好的,毕竟这不是一个mongo问题,这是我的路线...... 因为我的路由结构就像/,/:id?,并且由于某种原因,代码被调用了两次,第一次工作但第二次是null。

所以我所要做的就是检查id是否存在:

router.get('/:id?', function(req, res) {
  var id = req.params.id;
  if (!id) {
    next();
    return;
  }
  ...
});