【发布时间】:2011-09-14 18:32:32
【问题描述】:
我读到从性能的角度来看嵌入更好: “如果性能是一个问题,嵌入。” (http://www.mongodb.org/display/DOCS/Schema+Design) 并且大多数指南总是说应该嵌入包含。
但是我不确定情况是否如此。假设我们有两个对象:Blog 和 Post。博客包含帖子。
现在将所有帖子嵌入到博客中会出现以下问题:
-
分页。由于无法过滤嵌入对象,我们将始终获取所有帖子并需要在应用程序中将它们过滤掉。
-
过滤。和以前一样,在帖子中搜索单词时,将无法从 MongoDB 中过滤嵌入的集合。
-
插入。我假设插入集合比插入嵌入对象更快。它是否正确?这是写在哪里?
- 更新。和以前一样,小文档(帖子)内的内联更新字段可能比博客大文档内的内联更新更快。这是正确的吗?
考虑到以上所有内容,我会在一个单独的集合中发布引用博客的帖子。这是正确的结论吗?
(注意:请不要在回复中考虑文档大小限制,假设每个博客最多有 1000 个帖子)
【问题讨论】:
标签: performance database-design mongodb