码迷,mamicode.com
首页 > 数据库 > 详细

mongodb 用户点赞功能理论实现[转载]

时间:2018-05-20 12:52:49      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:highlight   one   文章   sts   nbsp   done   sele   cti   ODB   

在 posts(文章) 集合中储存对该文章点赞的用户的 _id 的数组,例如:

// posts
{
    _id: ObjectID(‘4e7020cb7cac81af7136236b‘),
    users_like_this_post: [
        ObjectID(‘4e7020cb7cac81af71362361‘),
        ObjectID(‘4e7020cb7cac81af71362362‘)
    ]
}

 

查对一个文章点赞的用户:

post = db.posts.findOne({_id: ObjectID(‘4e7020cb7cac81af7136236b‘)});
console.log(post.users_like_this_post);

 

查一个文章的点赞数量:

post = db.posts.findOne({_id: ObjectID(‘4e7020cb7cac81af7136236b‘)});
console.log(post.users_like_this_post.length);

  

查点赞过 100 的文章:

posts = db.posts.find({‘users_like_this_post.100‘: {$exists: true}});

  

查 user 点赞过的文章:

posts = db.posts.find({users_like_this_post: user._id});

  

user 对 post 点赞:

db.posts.update({_id: post._id}, {$addToSet: {users_like_this_post: user._id}});

  

user 对 post 取消点赞:

db.posts.update({_id: post._id}, {$pull: {users_like_this_post: user._id}});

  

参考 https://segmentfault.com/q/1010000000663821

mongodb 用户点赞功能理论实现[转载]

标签:highlight   one   文章   sts   nbsp   done   sele   cti   ODB   

原文地址:https://www.cnblogs.com/dupd/p/9062906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!