mongoose列表查询,怎么查询出每一条数据是否被当前用户点赞?

mongoose列表查询,怎么查询出每一条数据是否被当前用户点赞?

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   likes: [ObjectId(7df78ad8902c)]
},
{
   _id: ObjectId(7df78ad8902d)
   title: 'NoSQL Overview', 
   likes: [ObjectId(7df78ad8902c)] 
},
{
   _id: ObjectId(7df78ad8902e)
   title: 'Neo4j Overview', 
   likes: [ObjectId(7df78ad8902c),ObjectId(7df78ad8902c)],
},

这是我的数据结构.moogose怎么实现当前用户是否点赞?并且计算出点赞数量

我想要的结束结果

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   likesNum: 1,
   isLike:true
},
{
   _id: ObjectId(7df78ad8902d)
   title: 'NoSQL Overview', 
   likesNum: 1, 
    isLike:true
},
{
   _id: ObjectId(7df78ad8902e)
   title: 'Neo4j Overview', 
   likesNum: 2,
   isLike:true
},
阅读 2.1k
1 个回答
db.your_collection.aggregate([{$project : {_id : "$_id", title: "$title", islike: {
                 $cond: { if: { $gt: [ {$size : "$like"}, 0 ] }, then: true, else: false }
               }, likesNum : {$size : "$like"}}}])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题