如何在猫鼬的group_id中按user_id查找注释

时间:2018-11-05 09:51:28

标签: node.js mongoose

我有两个模型(account.js和group.js) enter image description here

enter image description here enter image description here 我可以通过查询找到组中的所有评论:

  Group.findOne({_id:req.body.groupid}).
  populate({
    path: 'comment.user',
  }).
  exec((err,data)=>{
    // console.log(data);
    res.json({
      mss: data,
    });
  });

现在,我要查找特定组(group._id)中具有特定ID(user._id)的用户的所有注释。任何人都可以提供帮助。感谢前进。

1 个答案:

答案 0 :(得分:1)

可以使用聚合来完成,就像这样:

Group.aggregate([
    {
        $match: {
            _id: req.body.groupid
        }
    },
    {
        $project: {
            comment: {
                $filter: {
                    input: '$comment',
                    as: 'cmnt',
                    cond: { 
                        $eq: [ '$$cmnt.userId', req.body.userId ]
                    }
                }
            }
        }
    }
])

有关更多信息,请检查$filter运算符的文档。