2013-04-23 32 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。