直接回答:当数据结构灵活多变、以单实体整体读写为主、关联查询少时,适合文档数据库。典型场景:商品目录(不同品类属性差异大)、内容管理、用户画像/配置、日志与事件存储——一条文档自包含,按 id 取出即用,还能随业务演化自由加字段。
展开解析:选 MongoDB 的理由:
- 模式灵活(schemaless):迭代快,不用频繁 ALTER TABLE。
- 文档模型贴合对象:嵌套数组/子文档一次取回,免去多表 JOIN,正好匹配应用的对象结构。
- 水平扩展内建:分片集群天然支撑大数据量。
不适合的场景:强多表关联、复杂事务(如订单-库存-支付的跨实体强一致)、报表型多维分析——关系型的 JOIN、约束与事务更可靠。也要注意 MongoDB 虽支持多文档事务,但性能代价高于单文档操作,设计上应尽量让单文档自足。
追问方向:文档建模的嵌入 vs 引用取舍、MongoDB 事务能力边界。