第一章 MongoDB简介 v1.0
一、什么是MongoDB
MongoDB是一个基于分布式文件存储的数据库,由C++编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。属于NoSQL数据库的一种。
二、MongoDB特点
- 面向文档:数据以JSON-like的BSON文档形式存储,结构灵活
- 高可用性:支持副本集(Replica Set),提供自动故障转移
- 可扩展性:支持水平扩展,通过分片(Sharding)实现
- 丰富的查询语言:支持字段查询、范围查询、正则表达式、聚合管道等
- 索引支持:支持单字段、复合索引、多键索引、文本索引、地理空间索引等
- 无模式(Schema-less):同一个集合中的文档可以有不同的结构
三、核心概念对比
| SQL概念 | MongoDB概念 | 说明 |
|---|---|---|
| 数据库(Database) | 数据库(Database) | 对应关系一致 |
| 表(Table) | 集合(Collection) | 集合无固定模式 |
| 行(Row) | 文档(Document) | BSON格式,字段可动态 |
| 列(Column) | 字段(Field) | 文档中的键值对 |
| 主键(Primary Key) | _id | MongoDB自动生成唯一ObjectId |
| 关联(Join) | 嵌入/引用 | 通过嵌入文档或DBRef实现 |
四、适用场景
- 内容管理系统(CMS)
- 用户数据和配置管理
- 物联网(IoT)数据存储
- 游戏数据
- 日志和事件记录
- 移动应用后端