從性能的角度看,嵌入效果更好: 「如果性能是一個問題,嵌入」。 (http://www.mongodb.org/display/DOCS/Schema+Design)和大多數指南總是說包含應嵌入。從性能角度來看,嵌入MongoDB與參考相比
但是我不確定是這種情況。假設我們有兩個對象:Blog和Post。博客包含帖子。
現在正在嵌入博客將有以下問題的所有帖子:
- 尋呼。由於無法過濾嵌入對象,因此我們將始終獲取所有帖子,並需要在應用程序中將其過濾掉。
- Filtering。與之前一樣,當在帖子內搜索單詞時,將無法從MongoDB過濾嵌入的收藏集。
- 插入。我認爲插入到集合比插入到嵌入對象更快。它是否正確?這是寫在任何地方?
- 更新。和以前一樣,小文檔(Post)內嵌入更新字段可能會更快,然後內聯更新Blog的大文檔內的帖子。它是否正確?
考慮到上述所有情況,我會選擇在引用Blog的單獨集合中發佈帖子。這是正確的結論嗎?
(注:請不要因素文件大小限制在響應中,假設每個博客都會有最多1000個)
謝謝你的詳細解答。 – mbdev 2011-06-15 06:33:40
@mbdev:不客氣。 – 2011-06-15 07:14:46
你確定#2是否有一個帖子與標題相匹配?我想它會返回包含「Mongodb!」帖子的博客標題。然後切片只會過濾第一篇文章。所以你會得到不正確的帖子 – mbdev 2011-06-16 15:02:23