关于在一个文档中保留评论和投票的更好解决方案的问题

时间:2013-06-04 14:35:45

标签: mongodb

我正在寻找一种更好的方法来处理它。我的文档我的目的是使用文档中的数组存储所有注释和投票(如确认存储图片和文本信息)。我关心的问题是关于文档的大小限制(目前为16 Mb),如果文档在内部数组中保留了大量注释并特别投票,很可能它会被破坏达到大小限制,另一方面保持这种策略,我也可以确保更快的查询。

我该怎么办?是否喜欢关系数据库并保留这些信息和不同的集合和文档?它会降低搜索速度,否则我会保持安全和不间断。

1 个答案:

答案 0 :(得分:1)

这完全取决于您计划如何使用数据。如果您在单个博客文章中收到大量评论,您真的想查询帖子并获取所有评论吗?

没有真实生活网页向您展示博客文章实际上是这样做的。它们会向您显示前几条注释,然后在滚动浏览这些注释或单击“显示更多”时获取更多注释。这可能是最好的(混合)模型。存储您首次在博客帖子文档中显示博客文章时所需的内容,但保留您可以稍后在单独的集合中查询的所有其他内容,其中每个评论都引用它所属的帖子。然后你可以使用单个索引读取获得附加注释(可能在post_id和发布日期上将其编入索引?)。您还可以使用“bucketing”技术并存储按帖子和时间块分组的注释,以便您可以获取整个“评论的下一页”文档。

如果你正确地构建了这个而不是降低你的搜索速度,它可能增加你的基础文档的搜索和读取速度,并且也节省了大量的网络带宽。