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

发布于 2022-09-12 22:10:21 字数 765 浏览 18 评论 0

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
},

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东风软 2022-09-19 22:10:21
db.your_collection.aggregate([{$project : {_id : "$_id", title: "$title", islike: {
                 $cond: { if: { $gt: [ {$size : "$like"}, 0 ] }, then: true, else: false }
               }, likesNum : {$size : "$like"}}}])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文