Mongoose,如果在查询

时间:2017-07-10 12:36:05

标签: javascript node.js mongoose

所以我有一个User模型和一个Post模型。用例是用户可以喜欢帖子。

Post Schema包含我已经命名为#34; likers"的ObjectID数组。 (喜欢发帖的用户对象)

我想写一个返回所有帖子的查询,但每个帖子都有一个额外的"喜欢"基于用户objectid登录的布尔值的字段是" likers"阵列。

我正在尝试的代码:

router.get("/posts", function(req, res, next) {
  Posts.find({})
    .then(posts => {
      posts = posts.map(post => {
        // How to write this so it works
        // test if req.user._id in likers which is Schema type [ObjectID]
        post.liked = req.user && (post.likers.indexOf(req.user._id) > -1);
        return post;
      });
      res.json(posts);
    })
    .catch(errorHandler(res));
});

1 个答案:

答案 0 :(得分:1)

事实证明我将错误的id保存到了likers数组,Doh