目录
1、MongoDB的优势
2、MongoDB的应用场合
3、MongoDB与SQL的术语对比
4、MongoDB数据库
5、MongoDB集合
5、MongoDB文档
6、ObjectId类型的主键
1、MongoDB的优势
JSON文档模型 | 高可用 |
动态的数据模式 | 文本搜索 |
二级索引强大 | 企业级安全 |
查询功能 | 聚合框架MapReduce |
自动分片 | 大文件存储GridFS |
水平扩展 | 支持多种 编程语言 |
自动复制 |
2、MongoDB的应用场合
- 存储网站内容、缓存等大容量、低价值的数据
在高伸缩性的场景中用于对象及JSON数据的存储
SQL数据库4个表 | MongoDB数据库1个集合 |
3、MongoDB与SQL的术语对比
SQL术语 | MongoDB术语 |
Database(数据库) | Database(数据库) |
Table(表) | Collection(集合) |
Row(行或记录) | Document或BSON Document(文档) |
Column(列或字段) | Index(索引) |
Table Joins(表联合) | Embedded Documents and Linking(嵌入文档和连接) |
Primary Key(主键,将唯一列或列组合定义为主键) | Primary Key(主键,自动设置为_id字段) |
Aggregation(聚合) | Aggregation Pipeline(聚合管道) |
4、MongoDB数据库
- 一个MongoDB服务器可以建立多个独立的数据库,每个数据库都有自己的集合和权限,不同的数据库也放置在不同的文件中;
- MongoDB中默认的数据库为local。
5、MongoDB集合
- 集合类似于SQL数据库管理系统中的数据表,是一个MongoDB文档的集合;
- 集合存在于数据库中,没有固定的结构;
- 集合只在文档内容插入之后才会创建。
{"site":"www.jd.com"}
{"site":"www.taobao.com","name":"淘宝","hit":125}
{"site":"www.tmall.com","name":"天猫","purchases":23}
5、MongoDB文档
- 文档是一组键值对;
- 与SQL数据库不同,MongoDB的文档不需要设置相同的字段;
- MongoDB文档中存储的是BSON格式的数据。
_id : ObjectId("5cdb7b5d7d422febd0es8f3e")
isbn: "9787115450326""
name:"网络操作系统(第2版)"
author : Array
0:"陈景亮"
1:"钟小平"
2:"宋大勇"
press :"人民邮电出版社"
price: 69.80
pubdate : "2017-07-e1"
comments : Array
_id : ObjectId("5cdb74a97d422febdees8f3d")
isbn: "9787111544937"
name:"深入理解计算机系统(原书第3版)"
author: Array
press:"机械工业出版社”
price: 139.00
pubdate : "2016-12-01"
comments : Array
_id : ObjectId("5cdb7f647d422febde088f3f"
isbn: "9787115483698"
name: "Centos Linux系统管理与运维(第2版)"
author: Array
press:"人民邮电出版社"
price: 69.80
pubdate: "2018-08-01"
comments: Array
SQL数据库表
6、ObjectId类型的主键
- MongoDB文档必须有一个名为_id的主键;
- 主键的值可以是任何类型的,默认是一个ObjectId对象。MongoDB采用一个ObjectId类型的值作为主键;
- ObjectId是12字节的BSON字符串,一个字节为两位十六进制数,共有24位十六进制数,其组成是固定格式,例如:5cdb7f647d422f0bd0088f3f
- 4个字节表示当前的时间戳;
- 3个字节代表所在主机唯一标识;
- 2个字节表示进程ID;
- 3个字节是一个自动生成的随机数。