一、MongoDB是基于文档(我们理解为JSON)的形式进行数据存储的,所以我们理解的一张表,可以在MongoDB看作一个对象,于是就可以通过对象的思想,使用对象模型来理解MongoDB的一些数据存储方式和数据关系
二、MongoDB的多形性、动态性以及数据治理
- 多形性:一个集合中可以包含不同字段类型的文档对象
- 动态性:线上修改数据模式
- 数据治理:支持使用JSON Schema来规范数据模式
OK,什么是动态性?为什么MongDB可以不像关系型数据库那样需要下线才能添加字段?我们看一下MongDB的添加字段的语法:也就是说,MongDB添加字段的本质不是真的添加,而是一种更新,动态更新
db.collection.update({}, {$set: {otherkey: ‘otherval’}}, {multi: 1})
三、最简单快速的开发方式
MongoDB鼓励使用文档嵌套的方式去描述关系型数据库中的表关系
在硬件层面上,一次去定位数据的时间和读取的时间比大概为 95:5 ,也就是六张表如果都嵌入在一个文档里,使用Mongdb会比传统的关系型数据库快,理论上为 1.25:6
# 一个user文档对象
_id:631654854457e
name:obj
address:array
phone:array
email:xxx.qq.com
dob:xx-xx-xx xx:xx:xx.000
interests:array
关系型数据库和MongoDB的比较:
json模型之快速特性:
四、关于MongoDB
五、MongoDB版本变迁
六、MongoDB vs 关系型数据库