Node.js:如何从mongodb导出数据然后将数据导入mysql?

时间:2017-08-29 19:57:50

标签: mysql node.js mongodb

我想从mongodb导出数据,然后使用node.js将数据导入mysql,

我使用两个包mongodbmysql来建立数据库连接。

mongodbhttps://www.npmjs.com/package/mongodb
mysqlhttps://www.npmjs.com/package/mysql

这是演示:https://jsfiddle.net/05todd72/

在演示中,mondodb可以成功进行测试数据。

Qusetion:
如何从mongodb获取数据然后将它们插入到mysql中?

更新
我要导出的数据很简单:

{"id":"1","title":"foo","content":"foo bar"}
{"id":"1","title":"hello","content":"hello world"}

1 个答案:

答案 0 :(得分:1)

这不是一件容易的事。您不会在StackOverflow上得到完整的答案,因为它几乎完全取决于您的数据及其结构。

基本上,您要问的是如何将MongoDB数据库中的数据映射到MySQL数据库。请记住,这两个数据库是围绕完全不同的原则组织的:

  • MongoDB是一个文档数据库,最适合存储不严重依赖数据片段之间关系的结构化文档。

  • MySQL是一个围绕数据表排列的关系数据库,在这些表中的行之间具有重要关系。

例如,MongoDB可能会将此类内容存储为单个文档;

{
    id: 1,
    name: 'John Doe',
    messages: [
        { id: 42, message: 'Hello!', timestamp: '2017-08-29' },
        { id: 43, message: 'Another message', timestamp: '2017-08-29' },
        { id: 44, message: 'Goodbye!', timestamp: '2017-08-29' },
    ],
}

MongoDB会将其存储为单个记录(文档),您可以将整个事物作为一个单元进行检索,更新等。

另一方面,MySQL会将这些数据存储在一组表中,可能一个用于用户(' John Doe'),另一个用于消息,两者之间的关系基于每行的唯一ID值。

为了将您的Mongo数据转换为MySQL,您必须弄清楚数据将如何存储在MySQL数据库中,并编写将每个Mongo文档转换为所涉及表中的一系列插入的代码。