MongoDB 选择使用 BSON (Binary JSON) 而不是直接使用纯文本的 JSON,主要是为了解决 JSON 在性能、空间效率和数据类型支持上的局限性。 虽然 JSON 对人类阅读非常友好,但对于数据库这种需要高频读写、索引和计算的系统来说,它并不是最高效的格式。 以下是 MongoDB 使用 BSON 的三个核心原因: 1. 更快的遍历和解析速度 (性能) 这是最主要的原因。 JSON (文本扫描): JSON 是纯文本格式。如果要在一个大的 JSON 文档中查找某个字段(例如查找 中的 ),计算机必须逐个字符扫描整个字符串,匹配括号和引号,才能找到字段的结束位置和下一个字段的开始位置。这非常消耗 CPU。 BSON (长度前缀): BSON 是二进制格式。它在存储对象或数组时,会在头部记录该元素的字节长度。 优势: 如果数据库只需要读取文档中的某个特定字段,或者需要跳过某个嵌套的子文档,它可以直接读取长度信息,然后直接“跳”过相应的字节数,而不需要扫描其中的内容。这使得 MongoDB 在进行查找、索引和更新操作时速度极快。 2. 更丰富的数据类型 (类型保真度...