文档数据库文档
Document 是什么?
一条 BSON 记录,字段可嵌套,相当于 MySQL 的一行
类比:一张可以随时加栏目的表格行
它是什么
文档是 MongoDB 的基本数据单位,本质是一个类 JSON 的 BSON 对象,支持字符串、数字、日期、数组、子文档等类型。
一条订单可以把自己的商品列表、收货地址、支付信息全部嵌在一个文档里,一次查询全部拿到。
嵌套还是引用
这是建模时最重要的决定,直接影响查询性能。
- 嵌入:一对少、一起读、更新不频繁 → 放在同一个文档
- 引用:一对多、多对多、子数据会被独立查询 → 存 id 做关联
- 文档上限 16MB,别把无限增长的数组塞进去
注意
数组字段上的索引是多键索引,一个文档会出现在多个索引项里;数组过大时索引会膨胀,查询也会变慢。