MongoDB 介绍

什么是MongoDB

NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL"。
MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。

MongoDB是由C++编写的,MongoDB语法类似js,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。

它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等

关系型数据库中有一个 "表" 的概念,有 "字段" 的概念,有 "数据条目" 的概念

MongoDB中也同样有以上的概念,但是名称发生了一些变化,严格意义上来说,两者的概念即为相似,但又有些出入

这是我们用关系型数据库做的一张很简单的User表

接下来我们再看一下MongoDB的数据结构:

User = [{
    "name": "武大郎",
    "age": 18,
    "gender": ""
}, {
    "name": "孙悟空",
    "age": 100000,
    "gender": ""
}, {
    "name": "蔡文姬",
    "age": 16,
    "gender": ""
}]

这种类型是json,不是列表+字典

MongoDB的每个表(Collection)中存储的每条数据(Documents)都是一个一个的Json,Json中的每一个字段(Key)我们称之为:Field

就此我们引出了三个关键字,Collection也就是关系型数据库中"表"的概念,Documents就是"数据条目",Field就是"字段"

MySQL MongoDB
DB DB
Table Colletions
字段 Field
row Documents

原文地址:https://www.cnblogs.com/mingerlcm/p/10654334.html