- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个帖子
和用户
的集合,用户可以在其中对每个帖子进行赞成/反对。将其存储在 mongodb 数据库中以确保用户不能多次为给定文档投票的最佳方法是什么?
我想出的最简单的 nosql-ish 解决方案是存储在每个 Post
文档中投票的 user_ids 数组(甚至是 (user_id, vote)
数组,其中vote
为 +1 或 -1,以便用户能够更改他们的投票)。鉴于每个帖子都可以有数千票,从性能角度来看这是一个好主意吗?
像 Reddit 这样真正受欢迎的网站怎么样,热门帖子可以有数十万票?
最佳答案
MongoDB 文档目前限制为最大 16MB,因此假设 Gilbert 的计算准确,您将无法在 Post
中存储所有 600 万个 user_id
> 文档。
但是,您可以考虑将投票存储在 User
文档中(即特定用户投票的 post_id
)。用户对 600 万个不同帖子进行投票的可能性要小得多,因此这样您就不会很快达到大小限制。
处理此问题的另一种方法:如果您预计某个特定帖子会有很多投票,您可能需要将投票存储在 Post
文档之外的单独集合中,并执行额外的查询,类似于SQL 方式的多对多 JOIN 表:
user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }
并在 (user_id, post_id) 上创建复合索引。
关于mongodb - 在 mongodb 中存储赞成票/反对票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147686/
我一直在为自己的项目构建评论系统,目前确定当前登录用户是否对评论投票(赞成或反对)的方式不是很......聪明。现在,每次要显示评论时,我都会查询数据库,这对于每页超过 100 条评论来说并不理想。这
大家好,我的 Php 代码在表中添加 1 票....并且每个成员都有一次投票... 我的代码 while($rows=mysql_fetch_array($result)){ " type=
我正在尝试从头开始制作一个类似 reddit 的 Web 应用程序。我不知道如何存储赞成票和反对票。 我正在考虑创建一个名为“user_votes”的表包含字段“id”、“user_id”、“vote
我有一个帖子和用户的集合,用户可以在其中对每个帖子进行赞成/反对。将其存储在 mongodb 数据库中以确保用户不能多次为给定文档投票的最佳方法是什么? 我想出的最简单的 nosql-ish 解决方案
我在我的 Rails 应用程序中使用“acts_as_votable”gem,以便用户可以对帖子进行投票。我正在尝试添加 Ajax 功能,以便在用户对帖子点赞时不必刷新整个页面。 我的赞成票/反对票链
上箭头.gif 和下箭头.gif 所以,它看起来像这样: 我如何创建 3 个 div 并使用 CSS 设置它们的样式,使这些箭头位于顶部箭头位于底部箭头上方的位置? 我应该创建一个宽度受
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我是一名优秀的程序员,十分优秀!