Docs 菜单
Docs 主页
/ / /
Go 驱动程序
/

Stable API

在此页面上

  • Overview
  • 指定 API 版本
  • 修改行为
  • 更多信息

注意

Stable API 功能需要 MongoDB Server 5.0 或更高版本。

仅当您要连接的所有 MongoDB 服务器都支持 Stable API 功能时,方可使用此功能。

在本指南中,您可以了解如何在连接 MongoDB 实例或副本集时指定“Stable API”兼容性。

稳定 API 功能会强制服务器以与您指定的 API 版本兼容的行为运行操作。API 版本定义了其涵盖的操作的预期行为以及服务器响应的格式。根据您指定的 API 版本,操作和服务器响应可能会有所不同。

当您将 Stable API 功能与官方 MongoDB 驱动程序一起使用时,您可以更新驱动程序或服务器,而不必担心 Stable API 所涵盖的命令的向后兼容性问题。

要详细了解服务器涵盖的命令,请参阅 stable API 。

Client可以选择通过ClientOptions获取ServerAPIOptions类型。

要指定 API 版本,请将 SetServerAPIOptions() 方法与服务器 API 选项一起附加到 ClientOptions 中。指定 API 版本后,Client将在连接期间运行与 API 版本兼容的操作。

注意

MongoDB Go 驱动程序目前仅支持 ServerAPIVersion1

以下示例将设置 Stable API 版本并连接到服务器的 Client 实例化。

// Specify a server URI to connect to
uri := "mongodb://<hostname>:<port>"
// Specify the Stable API version in the ClientOptions object
serverAPI := options.ServerAPI(options.ServerAPIVersion1)
// Pass in the URI and the ClientOptions to the Client
client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI))
if err != nil {
panic(err)
}

您可以通过向 ServerAPIOptions 类型附加更多选项来进一步修改 Stable API 功能的行为。如果不指定任何选项,驱动程序将使用每个选项的默认值。

方法
说明
ServerAPI()
The API version to use.

Default: ServerAPIVersion1
SetStrict()
Flag that indicates whether the server should return errors for features that aren't part of the API version.

Default: false
SetDeprecationErrors()
Flag that indicates whether the server should return errors for deprecated features.

Default: false

此示例指定服务器执行以下操作:

  • 使用 Version 1 作为 API 版本

  • 对于不属于 Version 1 版本的功能返回错误

  • 对已弃用功能返回错误

// Specify a server URI to connect to
uri := "mongodb://<hostname>:<port>"
// Specify the Stable API version and append options in the ClientOptions object
serverAPI := options.ServerAPI(options.ServerAPIVersion1).SetStrict(true).SetDeprecationErrors(true)
// Pass in the URI and the ClientOptions to the Client
client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI))
if err != nil {
panic(err)
}

要学习;了解有关连接到MongoDB实例或副本集的更多信息,请参阅连接指南。

有关本节中的选项的更多信息,请参阅以下 API 文档:

后退

配置 TLS