我来自严格的 MySQL 背景,MongoDB 是我第一次接触 NoSQL。假设我有一堆用户和一堆组。
用户架构:
user_id
username
email
组架构
group_id
name
description
如果我使用的是 MySQL,并且我想建立每个用户及其所属组的关系,我会创建另一个具有user_id -> group_id
关系的表。为这种关系创建另一个 MongoDB 集合是否合适?如果不是,该方案应该是什么样的?
我建议您查看MondoDB 站点上提供的数据建模文档。根据用户和组之间关系的性质,您的问题的答案会有所不同。您可能想要使用引用,或者您可以将组信息存储在用户文档中。
如果将它嵌入到用户文档中,它可能看起来像这样:
{
user_id: "the id",
username: "Something",
email: "something@something.com",
group: {
name: "some name",
description: "some description"
}
}
mongo 中没有模式...用户的组字段将保存一个实际的组对象,或者像组的 id 这样的引用。
看到这个mongo 文档。