Skip to content

MongoDB

MongoDB 是以 BSON 文档为基本记录单位的数据库。文档可以包含嵌套对象和数组,查询、索引、聚合、复制与分片都围绕文档模型展开。

MongoDB 并不是“无需设计结构的 JSON 存储”。它把部分关系和聚合边界放入文档内部,以减少运行时连接并让相关数据共同读写;代价是文档大小、重复数据、更新模式和分片键需要在建模阶段明确设计。


文档目录

文档内容
产品特性与边界BSON、文档模型、适用场景和不适用边界
体系结构与物理存储mongod、WiredTiger、缓存、Checkpoint、Journal 和 Oplog
文档建模聚合边界、嵌入与引用、Schema Validation 和模型模式
查询与聚合Filter、Projection、Update Operator 和 Aggregation Pipeline
索引类型与结构B-tree、复合、Multikey、TTL、Wildcard、Text、Geo 和 Hashed
一致性与事务原子性、Read Concern、Write Concern、Session 和多文档事务
复制集与高可用Primary、Secondary、Oplog、选举、回滚和读偏好
分片架构Shard Key、Chunk、Balancer、mongos 和热点治理
备份与恢复单机恢复、复制集备份、快照一致性和恢复验证
查询语法入门以 MySQL 为参照的 CRUD、关联、聚合和分页写法

术语映射

MySQLMongoDB边界
DatabaseDatabase都是对象命名与权限边界,但内部机制不同
TableCollectionCollection 可启用 Schema Validation,不等于永久无模式
RowDocumentDocument 可包含嵌套对象和数组
ColumnField同一 Collection 的文档可以缺少某个 Field
Primary Key_id每个普通文档必须有唯一 _id
IndexIndexMongoDB 索引项通常指向文档记录,数组会展开为 Multikey
JOIN$lookup 或引用查询可用但不应照搬关系模型的大量运行时连接
GROUP BY$group位于 Aggregation Pipeline 中

参考资料


学习地图