【发布时间】:2014-05-26 18:13:31
【问题描述】:
MongoDB 对文档有最大限制。 16MB 大小。但是,也鼓励将相关集合存储在文档中。例如,一篇博文及其 cmets:
{
_id: 1,
title: "First Post",
Content: "...",
Comments: [
{ content: "..." },
{ content: "..." },
...
]
}
假设这篇文章已经传播开来,并且我收到了数百万的 cmets。我应该如何将 cmets 存储在 MongoDB 中?我应该把它放在另一个具有以下结构的集合中:
{
_id: 23,
blogPostId: 1,
content: "..."
}
如果是这种情况,我应该如何让诸如“获取超过 10 个 cmets 的博客文章”之类的查询高效执行?
【问题讨论】:
-
鼓励将相关的集合/关系存储为适合的子文档。如果您的卷关系很高,则它是不适合子文档的条款之一