将数据库结构从MySQL迁移到MongoDB

时间:2012-07-06 11:35:37

标签: mysql mongodb join nosql

我正在将我的应用程序数据库从MySQL迁移到NoSQL(MongoDB)。但是,我对如何构建MongoDB感到有点困惑。

在我目前的MySQL设置中,我有两个表,一个用于用户,一个用于日历。每个用户和日历都有一个唯一的ID。每个用户条目都包含与该用户关联的日历ID列表。每个日历条目还包含创建它的用户的ID。

我面临的问题是我有两种情况:对于登录控制台,我必须快速向用户显示他/她创建的所有日历;对于前端网站,我需要与他们的作者一起显示所有可用的日历。

在MySQL中,我会使用JOIN来快速查询这些数据。如何在MongoDB(或任何NoSQL数据库)中实现相同的功能?

1 个答案:

答案 0 :(得分:2)

你几乎得出结论。只有两个选项没有连接。

  1. Denormalize(存储用户文档中嵌入的日历)
  2. 进行单独查询(首先加载用户,然后是他的日历)
  3. 两种方法各有利弊,多次讨论(尝试谷歌搜索“mongodb嵌入或参考”)

    简而言之:嵌入可以让您更快地进行读取,引用可以提供更丰富的查询以及更轻松/更快速的写入。