1. 介绍
(1)MongoDB 是一款流行的开源文档型数据库
MongoDB 数据库的一些特性:
- 面向文档存储,基于JSON/BSON 可表示灵活的数据结构
- 动态DDL能力,没有强Schema约束,支持快速迭代 3) 高性能计算,提供基于内存的快速数据查询
- 容易扩展,利用数据分片可以支持海量数据存储
- 丰富的功能集,支持二级索引、强大的聚合管道功能,为开发者量身定做的功能,如数据自动老化、固定集合等等。
- 跨平台版本、支持多语言SDK。
(2)数据结构
SQL概念 | MongoDB概念 |
---|---|
primary key | _id |
foreign key | reference |
join | $lookup |
view | view |
transaction | transaction |
index | index |
group by | aggregation |
- _id 主键,MongoDB 默认使用一个_id 字段来保证文档的唯一性
- reference 引用,勉强可以对应于 外键(foreign key) 的概念,之所以是勉强是因为 reference 并没有实现任何外键的约束,而只是由客户端(driver)自动进行关联查询、转换的一个特殊类型
- view 视图,MongoDB 3.4 开始支持视图,和 SQL 的视图没有什么差异,视图是基于表/集合之上进行动态查询的一层对象,可以是虚拟的,也可以是物理的(物化视图)
- index 索引,与SQL 的索引相同
- $lookup,这是一个聚合操作符,可以用于实现类似 SQL-join 连接的功能
- transaction 事务,从 MongoDB 4.0 版