一般来说,有2种主要的数据库类型。SQL数据库,和NoSQL数据库
如果你熟悉MySQL或PostgreSQL等,SQL数据库允许你使用一种特定的语言来添加和检索数据,这种语言称为SQL,看起来像这样。
SELECT * FROM cars
INSERT INTO cars VALUES (fiesta, 2010)
SQL相当古老,诞生于1986年,它是一种经过战斗考验的技术。
在NoSQL的保护伞下,我们把所有那些不使用SQL语言查询数据的数据库放在一起。
MongoDB就属于这把伞。
MongoDB是一个文档数据库。我们不是存储记录,而是存储对象(称为文档)。
这与SQL数据库有什么不同?SQL数据库中的表是扁平的、静态的,它们可以承载数据,但仅限于最初的意图(你不能动态地添加一个列),为了存储复杂的数据,你需要创建许多表,并在每个表中链接数据,遵循关系型数据库的通用做法(如外键、列类型等)。
在MongoDB中,你可以存储任何对象,而不必担心组成这个对象的特定字段以及如何存储它们。你告诉MongoDB来存储这个对象。
使用MongoDB,你不需要学习另一种语言来与数据交互:你只需调用它所暴露的JavaScript方法就可以了(当然,你也可以使用其他语言与之交互)。
数据以类似于JSON的格式存储,但经过增强,可以存储更多的基本数据类型。
我希望这能让你对SQL数据库和MongoDB的主要区别有一个简单的了解。