稳定API
注意
稳定的API功能需要MongoDB服务器5.0或更高版本。
只有当您连接到的所有MongoDB服务器都支持此功能时,才使用稳定的API功能。
概述
在本指南中,您可以了解如何在使用MongoDB实例或副本集连接时指定稳定的API
兼容性。
稳定的API功能强制服务器使用与您指定的API版本
兼容的行为运行操作。API版本定义了它所涵盖的操作的预期行为和服务器响应的格式。操作和服务器响应可能根据您指定的API版本而有所不同。
当您使用官方MongoDB驱动程序与稳定的API功能一起使用时,您可以在不担心由稳定的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 文档
有关本节选项的更多信息,请参阅以下API文档