2011-10-31 61 views
0

我有以下類別:的MongoDB:embeding VS參考

  • 客戶包含產品包含項目包含任務和
  • 公司包括輔助包含部包含用戶(用戶包含自定義屬性)

什麼是最佳實踐?如何更有效地使用mongodb?

至於我,用戶項目會更頻繁地發生變化,應該被定義爲獨立的集合。

你有什麼建議嗎?

回答

0

對於你的問題沒有統一的答案,因爲MongoDB允許你同時執行嵌入和引用。 但是,這裏有一些提示:不要臃腫集合,因爲查詢下面的元素可能很難,尤其是如果你要使用列表。

如果你能夠原型,嘗試先嵌入集合,然後編寫一個單元測試,它將添加/刪除/查詢項目和用戶。如果這能起作用,那麼就沒有必要引用它們。

+0

該指數如何?我將能夠在db.Company.enshureIndex('subsidiary.departament.user.name.lastname')上創建索引。 – 1gn1ter

+0

當然,爲什麼不呢?請參閱http://www.mongodb.org/display/DOCS/Indexes#Indexes-IndexingonEmbeddedKeys(%22DotNotation%22) –

+0

速度如何?什麼會更快?單獨的集合和鏈接vs大文檔? – 1gn1ter