如何使用MongoDB组织此设置

时间:2013-04-23 19:09:46

标签: mongodb schema database nosql

我来自严格的MySQL背景,MongoDB是我第一次接触NoSQL。假设我有很多用户和一群人。

用户架构:

user_id
username
email

群组架构

group_id
name
description

如果我使用的是MySQL,并且我希望每个用户和他们所属的组之间存在关系,那么我将创建另一个具有user_id -> group_id关系的表。为这种关系创建另一个MongoDB集合是否合适?如果没有,该计划应该是什么样的?

2 个答案:

答案 0 :(得分:1)

mongo中没有架构...用户的组字段可以包含实际的组对象,也可以包含组的id等参考。

请参阅this mongo doc。

答案 1 :(得分:1)

我建议您查看MondoDB网站上提供的data modeling documents。您的问题的答案将根据用户和组之间关系的性质而有所不同。您可能希望使用引用,或者可以将组信息存储在用户文档中。

如果将其嵌入用户文档中,它可能看起来像这样:

{
   user_id: "the id",
   username: "Something",
   email: "something@something.com",
   group: {
             name: "some name",
             description: "some description"
          }
}