文档数据格式:BSON
Overview
在本指南中,您可以了解 BSON 数据格式,MongoDB 如何使用该格式,以及如何独立于 MongoDB Java 驱动程序安装 BSON 库。
BSON 数据格式
BSON 或二进制 JSON 是 MongoDB 用来组织和存储数据的数据格式。这种数据格式包括所有 JSON 数据结构类型,并增加了对日期、不同大小的整数、ObjectId 和二进制数据等类型的支持。有关支持类型的完整列表,请参阅 BSON 类型服务器手册页面。
二进制格式不适合人类阅读,但您可以使用 Java BSON 库将其转换为 JSON 表示形式。有关这些格式之间关系的更多信息,请参阅我们关于 JSON 和 BSON 主题的文章。
MongoDB 和 BSON
使用BSON库的MongoDB Java驱动程序允许您使用实现BSON接口 的对象类型之一来处理BSON数据,包括:
文档(BSON 库包)
BsonDocument(BSON 库包)
RawbsonDocument(BSON 库包)
jsonObject (BSON 库包)
BasicDBObject(Java 驱动程序包)
有关使用这些对象类型的更多信息,请参阅我们的文档指南。
安装 BSON 库
这些说明介绍如何将 BSON 库作为依赖项添加到您的项目中。如果您将 MongoDB Java 驱动程序作为依赖项添加到项目中,则可以跳过此步骤,因为 BSON 库已作为驱动程序的必需依赖项包含在其中。有关如何将 MongoDB Java 驱动程序作为依赖项添加到项目中的说明,请参阅我们快速入门指南中的驱动程序安装部分。
建议您使用 Maven 或 Gradle 来构建自动化工具,从而管理项目的依赖项。从以下标签页进行选择,从而查看该工具的依赖项声明:
以下代码片段显示 pom.xml
文件的 dependencies
部分中的依赖声明。
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> <version>5.5.0</version> </dependency> </dependencies>
以下代码片段显示 build.gradle
文件的 dependencies
对象中的依赖声明。
dependencies { compile 'org.mongodb:bson:5.5.0' }
如果您未使用上述工具之一,则可以通过直接从 sonatype 存储库下载 JAR 文件将其包含在项目中。
常见问题解答
本节回答使用BSON数据格式时可能出现的问题。
如何防止出现“IllegalArgumentException: Invalid BSON 字段 name”(IllegalArgumentException: Invalid BSON 字段 name)错误?
如果您向操作传递格式不正确的文档,并且使用的是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"));
要学习;了解有关可用构建者类的更多信息,请参阅 构建器指南。