文档型数据库(MongoDB)
MongoDB 很适合保存结构变化比较多的数据。
如果 MySQL 更像“表格型存储”,那 MongoDB 更像“文档型存储”。
为什么会有 MongoDB
真实项目里有很多数据不适合用非常固定的表结构来描述,例如:
- 爬虫抓下来的网页信息
- 商品详情字段经常变化的数据
- 内容类数据
这时 MongoDB 会更自然。
三个最重要的概念
database:数据库collection:集合document:文档
你可以先粗略理解成:
- collection 有点像 MySQL 的表
- document 有点像一条记录,但字段更灵活
文档长什么样
json
{
"title": "Python 入门",
"author": "小王",
"views": 120,
"tags": ["python", "基础"]
}这就是 MongoDB 很像 JSON 的原因。
MongoDB 和 MySQL 的思路区别
MySQL 更强调
- 表结构
- 字段约束
- 表与表之间的关系
MongoDB 更强调
- 一条文档整体存取
- 字段可以灵活变化
- 数据更像 JSON
适合什么场景
MongoDB 特别适合:
- 半结构化数据
- 字段经常变化的数据
- 内容型、抓取型数据
零基础学习建议
学 MongoDB 时,别急着先问“它能不能替代 MySQL”。
先弄清楚一个更重要的问题:什么时候该用文档型数据库。