对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

文档数据格式:BSON

在本指南中,您可以了解 BSON 数据格式、MongoDB 如何使用该格式,以及如何独立于 Java 驱动程序安装 BSON 库。

BSON 或二进制 JSON 是 MongoDB 用来组织和存储数据的数据格式。这种数据格式包括所有 JSON 数据结构类型,并且支持其他类型,包括日期、不同大小的整数、ObjectId 值和二进制数据。有关支持类型的完整列表,请参阅 MongoDB Server 手册中的 BSON types 页面。

二进制格式不适合人类阅读,但您可以使用 Java BSON 库将其转换为 JSON 表示形式。要了解这些格式之间的关系,请参阅 JSON 和 BSON 文章。

使用 BSON 库的 Java 驱动程序允许您使用实现 BSON 接口的 Realm 对象类型之一来处理 BSON 数据。以下类型实现 BSON 接口:

本节介绍如何将 BSON 库作为依赖项添加到项目中。如果您已将 Java 驱动程序作为依赖项添加到项目中,则可以跳过此步骤,因为 BSON 库已作为驱动程序的必需依赖项包含在其中。有关如何将 Java 驱动程序作为依赖项添加到项目中的说明,请参阅开始使用 Java 驱动程序指南。

提示

物料清单

我们建议将 Java虚拟机(JVM) 驱动程序物料清单 (BOM) 添加到应用程序中,以管理驱动程序文物的版本。这样就无需为 BOM 涵盖的任何单个包指定版本,从而简化依赖管理。要了解更多信息,请参阅 Java 驱动程序入门指南。

建议您使用 MavenGradle 来构建自动化工具,从而管理项目的依赖项。从以下标签页进行选择,从而查看该工具的依赖项声明:

以下代码片段显示 pom.xml 文件的 dependencies 部分中的依赖声明。

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
</dependency>
</dependencies>

以下代码片段显示 build.gradle 文件的 dependencies 对象中的依赖声明。

dependencies {
compile 'org.mongodb:bson'
}

如果您未使用上述工具之一,则可以直接从sonatype存储库。下载 JAR文件,将其包含在您的项目中。

本节回答使用BSON数据格式时可能出现的问题。

如果您向操作传递格式不正确的文档,并且使用的是Java驱动程序v4.7 或更早版本,您的应用程序可能会抛出此异常。

注意

在驱动程序版本 v4.8 及更高版本中,此错误消息已替换为包含有关格式不正确内容的更具体详细信息的错误消息。

例如,当您调用更新操作并错误地省略更新操作符时,驱动程序会抛出此错误,如以下代码示例所示:

// incorrectly formatted update document
collection.updateOne(
new Document().append("name", "fizz"),
new Document().append("name", "buzz")
);

要避免此错误,请使用构建器类进行适当的操作。该驱动程序提供了构建者类,以便为MongoDB操作创建语法正确的BSON。可以使用构建者类正确表达前面的示例,如以下代码示例所示:

// Builder class imports
import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Updates.*;
// ...
collection.updateOne(eq("name", "fizz"), set("name", "buzz"));

要学习;了解有关可用构建者类的更多信息,请参阅 构建器指南。