📘 目录
- 什么是 MongoDB?
- MongoDB 安装与环境配置
- MongoDB 基础概念(数据库、集合、文档)
- MongoDB 常用 CRUD 操作
- MongoDB 查询与条件表达式
- MongoDB 聚合管道(Aggregation)
- MongoDB 索引机制详解
- MongoDB 副本集与高可用
- MongoDB 分片集群与横向扩展
- MongoDB 性能优化技巧
- MongoDB 与 Python/Node.js 集成
- MongoDB 与关系数据库的整合
- MongoDB Atlas 云服务入门
- 实战项目:构建一个小型博客系统
第1章:什么是 MongoDB?
一、定义与简介
MongoDB 是一个高性能、开源、跨平台的文档型 NoSQL 数据库,由 MongoDB Inc. 于 2009 年发布,使用 C++ 编写。它采用类似 JSON 的 BSON 格式存储数据,数据结构灵活,天然适配现代 Web 应用的快速开发需求。
{
"name": "Alice",
"age": 28,
"email": "alice@example.com",
"tags": ["developer", "mongodb", "remote"]
}
MongoDB 以文档为基本单元,文档存储在集合中,集合属于数据库。
二、MongoDB 的定位
MongoDB 主要为以下应用场景设计:
- Web 和移动应用快速开发
- 动态 Schema 的业务模型(如电商、社交)
- 大数据与日志收集
- 高并发访问与实时读写
三、与关系型数据库对比
方面 | MongoDB | MySQL / PostgreSQL |
---|---|---|
数据模型 | 文档(JSON/BSON) | 表格(行/列) |
Schema | 动态,可嵌套 | 静态,需预定义 |
扩展性 | 易于分片扩展 | 分库分表较复杂 |
事务支持 | 多文档事务(v4.0+)支持 | 原生事务,ACID 强 |
查询语言 | Mongo 查询语法(类 JSON) | SQL 标准 |
四、MongoDB 的核心特性
- 文档模型灵活,支持嵌套结构
- 支持全文搜索、地理空间查询
- 自动分片与副本集机制支持海量存储
- 易于横向扩展(Sharding)
- 天然适配 JSON 驱动的前后端交互
五、典型应用场景
应用类型 | 示例场景 |
---|---|
CMS 内容系统 | 博客、新闻平台 |
实时消息系统 | 聊天、推送平台 |
电商平台 | 商品属性结构多变 |
IoT 数据平台 | 设备数据、时间序列 |
用户行为分析 | 日志记录、用户画像、点击行为分析 |
六、MongoDB 的发展历程
时间 | 版本更新 / 里程碑 |
---|---|
2009 年 | MongoDB 初版发布 |
2017 年 | MongoDB 公司上市(NASDAQ: MDB) |
2018 年 | MongoDB 4.0:引入多文档事务 |
2021 年 | MongoDB 5.0:原生时间序列支持 |
2024 年 | MongoDB Atlas 云平台拓展 |
🌐 出站链接
- MongoDB 官网:
https://www.mongodb.com/ - MongoDB 官方文档(英文):
https://www.mongodb.com/docs/ - MongoDB 中文手册(非官方):
https://www.mongoing.com/
📚 参考资料
- 《MongoDB 权威指南》(O’Reilly 出版,原书名 MongoDB: The Definitive Guide)
- MongoDB 官方博客与技术白皮书
- 菜鸟教程 MongoDB 教程章节
https://www.runoob.com/mongodb/mongodb-tutorial.html - MongoDB Atlas 使用文档与指南
发表回复