为什么NodeJ通常使用MongoDB而不是Mysql?

时间:2017-02-11 04:00:09

标签: node.js

我听说过Mysql使用了Uber,Linkedin这样的大公司。我认为NodeJs最好使用Mysql而不是MongoDB。我错了吗?也许我不了解MongoDB的功能

1 个答案:

答案 0 :(得分:6)

和我一样,当我开始学习NoSQL时,我处于同样的两难境地。来自RDBMS背景NoSQL或MongoDB更容易扩展,并且具有类似JSON的语法,让JavaScript开发人员感到宾至如归。在开发Todo应用程序时想象一下这个结构:

Todo Database (MySQL):
- Todo (table)
  - Id

- Todo Item (table)
  - TodoId
  - TodoName

使用MongoDB,您可以将所有内容放在一个表或集合中,如下所示:

Todo: {
  Id: //some uniq id,
  Items: [
    0: {
      name: 'wash the dishes'
    },
    1: // and so on
  ]
}

如果你决定打破或添加更多细节,你可以这样做,因此“scale”这个词

Todo: {
  Id: asdf
}

TodoItem: {
  todoId: asdf,
  name: 'wash the dishes',
  etc: // and so on
}

最重要的是,如果您觉得自己的应用程序几乎是一成不变的,您可以转移到您提到的大公司正在进行的MySql或Postgresql。

这只是一个简单的例子,可能在Sql上使用NoSql不会带来太大的好处。但想想看,你正在尝试用不熟悉的数据关系构建一个新的应用程序。是的,您可以构建ER图并根据需要对其进行标准化,当您开始构建应用程序时,您意识到一个非常重要的字段可能会影响表的整个关系。或者你宁愿快速构建并弄脏你的手,使用NoSql构建凌乱的表/集合并看到你的应用程序更快地活跃起来?

希望有所帮助。