我想将 SQL 数据库迁移到 MongoDB 那么我应该如何维护关系数据?

Posted

技术标签:

【中文标题】我想将 SQL 数据库迁移到 MongoDB 那么我应该如何维护关系数据?【英文标题】:I want to migrate SQL Database to MongoDB So How I Supposed to maintain relational data? 【发布时间】:2019-12-11 07:25:43 【问题描述】:

我正在做一个项目,我必须将 SQL 数据库迁移到 MongoDB。我使用 Mongo 3T 将数据迁移到 MongoDB,但 Id 生成为 1、2、3、4 等等。现在我关心的是,如何维护集合之间的关系。

模式是这样的:

位于某个位置且这些位置具有不同站点的设备。如果有人将 SQL 数据库迁移到 MongoDB,请添加您的评论以帮助我。 :)

注意:我使用 NodeJS 开发 API。

提前致谢!

【问题讨论】:

您可以使用同时支持 SQL 和 MongoDB 的 ORM,创建模型文件和关联。 【参考方案1】:

关系数据库和面向文档的数据库完全不同,因此您的数据必须进行相应的组织/结构化。如果您的数据结构不符合 DBMS(数据库管理系统)的要求/建议,那么该数据库的使用效率将不高。这意味着您的数据库设计不好或选择了错误的 DBMS(它不符合您的要求)。如果您打算跟上当前的数据结构,我看不出有任何理由要更改 DBMS(从 SQL 到 MongoDB)。技术/解决方案的选择不能是受欢迎程度,而是适合(如何满足要求)。

最佳解决方案取决于项目细节。如果我们知道您想要迁移的原因,也许我们可以给您更好的建议。

可能的解决方案:

从 SQL 迁移到 MongoDB,但在大多数情况下,您需要更改数据结构。 在最好的领域使用这两种 DBMS。 跟上SQL DBMS,只是优化数据结构和应用。

【讨论】:

【参考方案2】:

将 SQL 数据库迁移到 MongoDB 后,如果要获取填充结果,您需要在 Mongoose 模式中定义 _id 并将模型的 ref 放在另一个表中。这样,你就可以维持关系。只需使用 Mongoose 的 populate 方法即可获取数据。

【讨论】:

以上是关于我想将 SQL 数据库迁移到 MongoDB 那么我应该如何维护关系数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何将SQL数据加载到Hortonworks中?

使用扩展的JSON将SQL Server数据迁移到MongoDB

将 .DBF 文件迁移到 Sql Server 数据库

从 SQL Server DB 迁移到 MongoDB:关于是嵌入还是引用的问题

SQL Server GUID 数据迁移至MongoDB后怎样查看?

关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究