.bson
Data
BSON(二进制 JSON)
BSON 是 MongoDB 用于存储文档的二进制序列化格式。它在 JSON 基础上扩展了额外的数据类型(日期、二进制、ObjectId、decimal128),专为文档数据库中的高效编码、扫描和就地更新而设计。
MIME 类型
application/bson
类型
二进制
压缩
无损
优点
- + Rich type system beyond JSON (dates, ObjectId, binary, Decimal128)
- + Efficient for database storage — length-prefixed for fast scanning
- + Supports in-place updates without rewriting entire documents
缺点
- − Can be larger than JSON for string-heavy documents
- − Not human-readable — requires tooling to inspect
- − Primarily MongoDB-specific — limited use outside that ecosystem
何时使用 .BSON
BSON 主要由 MongoDB 内部使用;数据交换建议使用 JSON 或 MessagePack。
技术细节
BSON 文档是长度前缀的二进制,带有类型标记的元素。每个元素有一个单字节类型标识符、一个 C 字符串键和一个特定类型的值。这支持 O(1) 大小检查和高效遍历。
历史
MongoDB Inc.(原 10gen)于 2009 年开发了 BSON,作为 MongoDB 的内部存储和传输格式。该规范是开放的,已被其他需要带类型的类 JSON 二进制格式的项目采用。