2013-04-23 106 views
0

我來自嚴格的MySQL背景,MongoDB是我與NoSQL的第一次接觸。假設我有一羣用戶和一羣組。如何使用MongoDB組織此設置

用戶模式:

user_id 
username 
email 

模式

group_id 
name 
description 

如果我使用MySQL和我想有每個用戶的有關係,他們屬於,我組的組用user_id -> group_id關係創建另一個表。爲這種關係創建另一個MongoDB集合是否合適?如果不是,該計劃應該是什麼樣子?

+0

如果用戶的集團持有相同的值作爲一個羣體的GROUP_ID,是不是那麼有關係嗎? – 2013-04-23 19:13:29

+0

@CoreyOgburn,是的,我的壞,那是一個錯字。 – n0pe 2013-04-23 19:14:12

+0

我認爲這是你的答案。如果您確實想要將用戶正確綁定到組,請使用[數據庫參考](http://docs.mongodb.org/manual/reference/database-references/#dbrefs)。 – 2013-04-23 19:16:05

回答

1

我建議你看看MondoDB網站上的data modeling documents。根據用戶和組之間關係的性質,您的問題的答案會有所不同。您可能想要使用引用,或者可以將組信息存儲在用戶文檔中。

它可能是這個樣子,如果你把它嵌入用戶文檔:

{ 
    user_id: "the id", 
    username: "Something", 
    email: "[email protected]", 
    group: { 
      name: "some name", 
      description: "some description" 
      } 
} 
1

mongo中沒有模式...用戶的組字段可以包含一個實際的組對象,或者是一個像組的ID一樣的引用。

參見this mongo doc。