我来自严格的MySQL背景,MongoDB是我第一次接触NoSQL。假设我有很多用户和一群人。
用户架构:
user_id
username
email
群组架构
group_id
name
description
如果我使用的是MySQL,并且我希望每个用户和他们所属的组之间存在关系,那么我将创建另一个具有user_id -> group_id
关系的表。为这种关系创建另一个MongoDB集合是否合适?如果没有,该计划应该是什么样的?
答案 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"
}
}