中间件速查手册
文档数据库文档

Document 是什么?

一条 BSON 记录,字段可嵌套,相当于 MySQL 的一行

类比:一张可以随时加栏目的表格行

它是什么

文档是 MongoDB 的基本数据单位,本质是一个类 JSON 的 BSON 对象,支持字符串、数字、日期、数组、子文档等类型。

一条订单可以把自己的商品列表、收货地址、支付信息全部嵌在一个文档里,一次查询全部拿到。

嵌套还是引用

这是建模时最重要的决定,直接影响查询性能。

  • 嵌入:一对少、一起读、更新不频繁 → 放在同一个文档
  • 引用:一对多、多对多、子数据会被独立查询 → 存 id 做关联
  • 文档上限 16MB,别把无限增长的数组塞进去

注意

数组字段上的索引是多键索引,一个文档会出现在多个索引项里;数组过大时索引会膨胀,查询也会变慢。

它出现在这些中间件里

相关概念