mongodb 用户点赞功能理论实现
Posted 杜培东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb 用户点赞功能理论实现相关的知识,希望对你有一定的参考价值。
在 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 用户点赞功能理论实现的主要内容,如果未能解决你的问题,请参考以下文章
全栈项目|小书架|服务器端-NodeJS+Koa2 实现点赞功能