mongodb 迁移到mysql 求助?

赵小龙
  • 48
  • 接手别人的网站项目,之前是nodejs + mongodb 开发的
  • 现在想要用java + mysql 重构。
  • 网站是文章类型的,第一步想要把mongodb里的数据导入到mysql
  • 我对mongodb不了解,之前项目人员也没有留下任何文档,我对表结构也不了解。
  • 网上搜索到一些方法都是把mongodb导出csv表格后导入mysql。
  • mongodb导出csv只能一个表一个表导出,并且注明全部字段才能导出吗?

求一种好的方法将mongodb里的数据导出到mysql

回复
阅读 4k
3 个回答

你这样说,让我感觉你这重构很难成功啊。

对 MongoDB 不了解?那就去了解啊!

mongodb导出csv只能一个表一个表导出,并且注明全部字段才能导出吗?

你这思路很奇怪。你在希望有一个工具帮你做掉所有的事情。然而 MongoDB 不是 MySQL,它们是不同的。所以你需要写程序来转换数据(根据你的业务和数据特征确定具体的方案,MySQL 的表怎么设计等等),而不是导入导出这么简单的事情。就像你用 Java 重写 NodeJS 的项目,你不是用某个工具把 JavaScript 代码转成 Java,然后事情就做完了。

PS: 你这叫重写,不叫重构。

其实我之前也在思考这个问题,当时是直接拿java写的程序搞的,但是好像mongo 只提供了一次获取全部数据的方法,返回一个迭代器,然后用jdbc的batch往mysql里面插,但是感觉效率有点低,我是个菜鸡,想不到太好的方法,我看网上说导出数据好像是要快一些 你都可以试试

额...关于这个问题,我也遇到了!

项目刚开始的时候,为了快,就直接上了mongodb, 后来项目功能越来越多,必须要上关系型数据库了!

我的方式与楼上的相同:

1.导出mongo里的数据(导出后是json格式)
2.自己写脚本去分析导出的数据结构,然后建好mysql表
3.根据结构的不同,分别将数据插入到对应的mysql表中

我这里数据量不大,实现起来并没有特别麻烦,如果数据量较大,那就需要另辟蹊径了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏