我正在做一個網站與meteorjs有用戶,每個用戶可以製作一個列表,每個人都可以查看和共享。我的問題是關於製作一個高效的mongodb模式。Mongodb模式設計流星js
我應該對用戶的 職位的收集和分類收集,領帶這兩個在一起?
或者我應該只有一個包含用戶的集合,並且在每個 用戶下都有一個包含帖子的屬性?
或者還有另一種方法來做到這一點?
我查了各種模式設計,但我很困惑如何使用'posts'集合工作用戶的集合。
任何文檔,答案或方向感將大大升值。
我正在做一個網站與meteorjs有用戶,每個用戶可以製作一個列表,每個人都可以查看和共享。我的問題是關於製作一個高效的mongodb模式。Mongodb模式設計流星js
我應該對用戶的 職位的收集和分類收集,領帶這兩個在一起?
或者我應該只有一個包含用戶的集合,並且在每個 用戶下都有一個包含帖子的屬性?
或者還有另一種方法來做到這一點?
我查了各種模式設計,但我很困惑如何使用'posts'集合工作用戶的集合。
任何文檔,答案或方向感將大大升值。
首先,不要創建自己的用戶集合,使用帳戶包。
通常,文檔數據庫中的文檔是一組將同時顯示的數據(並非總是如此,但其想法是從儘可能少的文檔構建頁面)。對於你的用例,我會有一個posts
集合,它有一個userId
字段和一個comments
數組,每個數組也有一個userId
字段。您還可以在每個帖子/評論中存儲用戶數據的子集 - 特別是如果該數據無法更改。
請注意,這是一個與SQL數據庫完全不同的方法,我們總是希望根據需要規範化數據並加入記錄。在文檔數據庫中,最好將數據儘可能多地進行非規範化處理,以優化性能。
這將是相關的(http://docs.mongodb.org/ecosystem/use-cases/)
的意見的用例MongoDB的一切你最好的資源是最接近你的想法是什麼。