2010-06-30 69 views
0

我正在嘗試使用mongodb和mongomapper來存儲我的daat的最佳方法。深嵌套或不同的集合mongodb?

我有類別,並且可以通過許多屬性來描述每個類別所以長度在毫米,重量(公斤)等

我希望每個用戶能夠創建他們自己的屬性descibe的產品類別。

所以forexample:

用戶A想與車輪的數量和汽車的長度存儲他的類別「汽車」在毫米 用戶B想保存他類別「汽車」與毫米車輪的數量和長度和重量(千克)。

類別對於每個人都是一樣的,但屬性可能不同。

我應該存儲這個類別集合,然後每個cateogry包含和每個用戶數組包含屬性anmes和單位的散列?

或者我應該把它分解成多個集合?

或者有沒有更好的方法可以讓人想到?

這是深嵌套問題嗎?

非常感謝advancfe的幫助和建議。 rick

+0

這只是您的上一個問題的重新散列:http://stackoverflow.com/questions/3097842/並且您從未費心接受該答案。我會把這個問題留給其他人。 – 2010-06-30 22:29:27

+0

您能否詳細闡述「深層嵌套」 - 實際上會有多少層次? – nawroth 2010-07-01 07:58:49

+0

嘆息......現在它成爲第一個回答或獲得「最佳」答案的民衆比賽。 – luckytaxi 2010-07-02 18:20:16

回答

0

讓我們從簡單的答案開始。將屬性存儲爲項目文檔中的字段。這就是爲什麼使用無模式數據存儲的原因。

現在,關於哪個女巫屬性放在哪個項目。簡短的回答:你描述的任何方式都可以工作;在效率方面都有一些折衷。

我覺得你的模型是這樣的:

  • 有一個集合用戶
  • 衆多的收藏品項的稱爲類
  • 每個項目一個成員類別
  • 每個用戶有很多項目
  • 在一個類別每個項目有根據用戶
  • 許多潛在屬性一些用戶會共享屬性

我想有以下類別:用戶,*類別(例如。汽車,船隻,房屋等),屬性。

屬性集合將列出類別(例如汽車)和該類別中的項目的屬性(例如燃料里程),以及使用該屬性的用戶ID的列表。