MongoDB 概述
约 564 字大约 2 分钟
布欧-Lewyon
2026-05-15
什么是 MongoDB
MongoDB 是一个开源的文档型 NoSQL 数据库,由 MongoDB Inc.(原名 10gen)于 2009 年发布。它以 JSON 风格的 BSON 文档存储数据,具有灵活的模式、水平可扩展性和强大的聚合能力。
NoSQL 分类
| 类型 | 代表 | 数据模型 |
|---|---|---|
| 文档型 | MongoDB, Couchbase | JSON/BSON 文档 |
| 键值型 | Redis, DynamoDB | Key-Value 对 |
| 列族型 | Cassandra, HBase | 行 + 列族 |
| 图型 | Neo4j, JanusGraph | 节点 + 边 |
关系型 vs MongoDB
| 对比 | MySQL / PostgreSQL | MongoDB |
|---|---|---|
| 数据模型 | 表 + 行 + 列 | 集合 + 文档 |
| Schema | 严格(需先定义表结构) | 灵活(同一集合可不同结构) |
| 关系 | 外键 / JOIN | 内嵌文档 / $lookup |
| 扩展方式 | 垂直扩展(主从读写分离) | 水平扩展(分片) |
| 事务 | 支持 | 4.0+ 支持多文档事务 |
| 查询语言 | SQL | MongoDB Query Language (MQL) |
核心特性
- 文档模型:数据以 BSON 格式存储,天然匹配对象和 JSON。
- 灵活 Schema:同一集合内的文档可以有不同的字段。
- 内置副本集:自动故障转移和数据冗余。
- 水平扩展:通过分片(Sharding)分布数据到多台机器。
- 聚合管道:强大的数据处理和转换能力。
- 全文搜索:内置文本索引和搜索。
MongoDB 生态
版本演进
| 版本 | 重要特性 |
|---|---|
| 2.x | 聚合框架、TTL 索引 |
| 3.0 | WiredTiger 存储引擎(默认) |
| 3.2 | 文档验证、部分索引 |
| 3.6 | Change Streams |
| 4.0 | 多文档事务(副本集) |
| 4.2 | 分布式事务(分片集群)、通配符索引 |
| 4.4 | 隐藏索引、Compound Hashed 索引 |
| 5.0 | 版本化 API、实时重新分片 |
| 6.0 | 可查询加密、时序集合 |
| 7.0 | 列压缩索引、可查询加密增强 |
小结
- MongoDB 是文档型 NoSQL 数据库,以 BSON 文档存储。
- 灵活 Schema、内置副本集、水平分片是其核心优势。
- 4.0+ 支持多文档事务,兼具 NoSQL 的灵活性和 ACID 的一致性。
- 生态完善:mongosh、Compass、各语言驱动、Atlas 云服务。
下一节:文档模型与 BSON
