MongoDB之简介
一、什么是MongoDB
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为web应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系型数据库的。
它和我们常用的关系型数据库的最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主键、外键约束,没有存储的数据类型约束等等。
关系型数据库中有一个“表”的概念,有“字段”的概念,有“数据条目”的概念。
MongoDB中也用样有以上的概念,但是名称发生了一些变化。严格意义上来说,两者的概念有点相似。
下面,让我们来做一个小例子,来详细说明关系型数据库和MongoDB的区别。
下表是我们用关系型数据库做的一张很简单的user表:
接下来我们再看一下MongoDB的数据结构:
从表面来看,MangoDB的数据结构很类似Python中的列表和字典,但是在MangoDB中,我们把这种类型叫做Json。
MangoDB的每张表(Collection)中存储的每条数据(Documents)都是一个一个的json,json中每一个字段(key),我们称之为field。
就此我们引出了三个关键字:
- Collection也就是关系型数据库中“表”的概念
- Documents就是“数据条目”
- Field就是“字段”