
前言MySQL/PG 属于关系型数据库RDBMS表结构固定、强关联MongoDB 是文档型 NoSQL 数据库存储 JSON 格式文档结构灵活无需提前定义表字段。本文讲解基础概念、CRUD 实操、适用业务场景、和 MySQL 取舍对比。一、核心基础概念对应 MySQL 类比MySQL 关系型MongoDB 文档型数据库 databasedatabase表 table集合 collection行 row文档 documentJSON 对象字段 column键 key主键 id_id 自动生成唯一主键特点集合无需预先定义字段每条文档字段可以完全不同动态扩展属性。二、基础 CRUD 实操命令1. 创建 / 切换数据库use test_db2. 插入文档// 单条插入 db.user.insertOne({ name:张三, age:20, tags:[学生,计算机] }) // 批量插入 db.user.insertMany([ {name:李四,age:22}, {name:王五,age:19} ])3. 查询文档// 查询全部 db.user.find() // 条件查询 db.user.find({age:{$gt:18}}) // 分页排序 db.user.find().sort({age:1}).limit(10)4. 更新文档// 更新匹配第一条 db.user.updateOne({name:张三},{$set:{age:21}}) // 批量更新 db.user.updateMany({age:{$lt:20}},{$set:{level:1}})5. 删除文档db.user.deleteOne({name:张三}) db.user.deleteMany({age:100})三、MongoDB 核心优势结构灵活无需提前建表、定义字段业务迭代新增属性不用改表结构天然支持数组、嵌套对象用户标签、商品多图、多层嵌套数据无需多表关联高写入性能日志、埋点、海量设备上报数据写入速度快分片集群成熟易于水平扩容存储海量数据JSON 格式存储前后端交互无需大量转换。四、适合使用 MongoDB 的业务场景用户行为埋点、操作日志、设备上报数据商品多属性、动态扩展字段不同商品不同参数内容平台文章、评论、富文本内容物联网设备时序数据、传感器采集数据小程序 / APP 用户画像、标签体系临时海量中间数据无需复杂事务关联。五、不适合 MongoDB 的场景强事务、资金、订单、对账财务系统MongoDB 事务能力弱于 MySQL多表高频关联查询、复杂统计报表需要严格外键约束、强数据一致性的业务。六、MongoDB vs MySQL 选型总结数据结构固定、多关联、事务、金融业务 → MySQL结构多变、海量写入、日志埋点、嵌套复杂 JSON 数据 → MongoDB七、开发使用注意事项核心订单、支付数据不要单独使用 MongoDB高频查询字段建立索引避免全集合扫描超大集合定期分片控制单集合数据量复杂多条件统计尽量同步至 MySQL 做报表分析。