文档菜单
文档首页
/ / /
Go 驱动
/

稳定API

本页内容

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

注意

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

只有当您连接到的所有MongoDB服务器都支持此功能时,才使用稳定的API功能。

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

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

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

有关服务器所涵盖的命令的更多信息,请参阅稳定API.

客户端Client可以通过ClientOptions使用ServerAPIOptions类型。

为了指定API版本,将你的服务器API选项添加到SetServerAPIOptions()方法中,并将其赋值给ClientOptions。指定API版本后,Client将在连接期间运行与该API版本兼容的操作。

注意

MongoDB Go Driver当前仅支持ServerAPIVersion1

以下示例创建了一个设置稳定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类型追加内容来进一步修改稳定API功能的行为。如果您不指定任何选项,驱动程序将使用每个选项的默认值。

方法
描述
ServerAPI()
要使用的API版本。

默认值: ServerAPIVersion1
SetStrict()
标志,表示服务器是否应该返回不属于API版本的功能的错误。

默认值: false
SetDeprecationErrors()
标志,表示服务器是否应该返回已弃用功能的错误。

默认值: false

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

  • 使用API版本1

  • 对于不属于版本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