很多人第一次看 MongoDB,会以为它“就是存 JSON”。
不准确。更准确的说法是:
- 你看见的常常像 JSON
- MongoDB 实际存储的是 BSON
BSON 可以理解为:
- Binary JSON
- 为机器读写优化的二进制档案材料
- 比普通 JSON 支持更多数据类型
比如下面这些类型,JSON 本身并不擅长表达,但 BSON 原生支持:
{
_id: ObjectId("67e5c1f4..."),
name: "城市规划报告",
createdAt: new Date(),
budget: NumberDecimal("199999.88"),
isPublished: true
}常见 BSON 类型包括:
stringint/long/doubledecimalbooldateobjectIdarrayobjectnullbinData
为什么这很重要?
因为在弹性档案仓里,档案袋不只是“纯文本说明”,还可以带:
- 精确金额
- 时间戳
- 唯一编号
- 嵌套子结构
- 二进制附件标识
这让 MongoDB 很适合保存“真实业务对象”。