文档菜单
文档首页
/ / /
Java 反应式流驱动程序
/

稳定的 API

本页

  • 概述
  • 启用稳定的 API
  • 配置稳定的 API
  • 故障排除
  • 服务器上未识别的字段 'apiVersion'
  • 提供了 apiStrict:true,但命令 <operation> 不在 API 版本中
  • API 文档

注意

稳定的 API 功能需要 MongoDB 服务器 5.0 或更高版本。

在本指南中,您可以了解如何在连接到MongoDB部署时指定稳定API兼容性。

稳定API功能强制服务器使用与您指定的API版本兼容的行为执行操作。使用稳定API确保服务器响应的一致性,并为您的应用程序提供长期API稳定性。

以下部分描述了如何为您的MongoDB客户端启用和自定义稳定API。有关稳定API的更多信息,包括它支持的命令列表,请参阅稳定API MongoDB服务器手册。

要启用稳定API,请执行以下步骤

  1. 构建一个ServerApi对象,并指定一个稳定API版本。您必须使用在ServerApiVersion枚举中定义的稳定API版本。

  2. 使用MongoClientSettings.Builder类构建一个MongoClientSettings对象。

  3. 使用MongoClients.create()方法实例化一个MongoClient,并将您的MongoClientSettings实例作为参数传递。

以下代码示例显示了如何指定版本1的稳定API

ServerApi serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.build();
// Replace the placeholder with your Atlas connection string
String uri = "<connection string URI>";
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(new ConnectionString(uri))
.serverApi(serverApi)
.build();
try (MongoClient mongoClient = MongoClients.create(settings)) {
// Perform client operations here
}

一旦创建了一个带有稳定API的MongoClient实例,您使用该客户端运行的所有命令都将使用指定的稳定API配置。如果您必须使用替代配置运行命令,请创建一个新的MongoClient

下表描述了ServerApi.Builder类的可链式方法,您可以使用这些方法来自定义稳定API的行为。

选项名称
说明
strict()
可选。当设置为true时,如果您调用不属于声明API版本中的命令,驱动程序将引发异常。

默认:false
deprecationErrors()
可选。当设置为true时,如果您调用声明API版本中已弃用的命令,驱动程序将引发异常。

默认:false

以下代码示例展示了如何通过链式调用ServerApi.Builder的方法来配置ServerApi实例。

ServerApi serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.strict(true)
.deprecationErrors(true)
.build();

如果指定了API版本并连接到不支持稳定API的MongoDB服务器,Java Reactive Streams驱动程序将引发此异常。请确保您连接的是运行MongoDB Server v5.0或更高版本的部署。

Java Reactive Streams 驱动程序在您的 MongoClient 执行不在您指定的稳定 API 版本中的操作时引发此异常。为了避免此错误,请使用由指定的稳定 API 版本支持的替代操作,或在构建您的 ServerApi 对象时将 strict 选项设置为 False

有关使用 Java Reactive Streams 驱动程序与稳定 API 的更多信息,请参阅以下 API 文档

后退

压缩网络流量