稳定API
注意
稳定API功能需要MongoDB服务器5.0或更高版本。
概述
在本指南中,您可以学习如何在连接到MongoDB部署时指定稳定API兼容性。
稳定API功能强制服务器以与您指定的API版本兼容的行为运行操作。当您更新库或服务器版本时,API版本会发生变化,这可能会改变这些操作的行为。使用稳定API确保服务器响应的一致性,并为您的应用程序提供长期API稳定性。
以下部分介绍了如何为您的MongoDB客户端启用和自定义稳定API。有关稳定API的更多信息,包括它支持的命令列表,请参阅稳定API在MongoDB服务器手册中。
启用稳定API
要启用稳定API,请执行以下步骤
构造一个
MongoDB\Driver\ServerApi
对象,并传递您想要使用的稳定API版本。目前,库仅支持版本1。构造一个
MongoDB\Client
对象。对于driverOptions
参数,传递一个包含serverApi
选项的数组。将此选项设置为上一步中创建的MongoDB\Driver\ServerApi
对象。
以下代码示例显示了如何指定稳定API版本1
$uri = "mongodb://<hostname>:<port>"; $driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client($uri, [], $driverOptions);
注意
在创建了一个指定API版本的 MongoDB\Client
实例后,您使用该客户端运行的所有命令都将使用指定的版本。如果您需要使用稳定API的多个版本运行命令,请创建一个新的 MongoDB\Client
实例。
配置稳定API
MongoDB\Driver\ServerApi
构造函数还接受以下可选参数。您可以使用这些参数来自定义稳定API的行为。
参数 | 描述 |
---|---|
strict | 可选。当设置为 true 时,如果您调用不属于声明API版本的命令,服务器将抛出异常。默认: null 。如果此参数为null,则服务器将应用其默认值 false 。 |
deprecationErrors | 可选。当设置为 true 时,如果您调用声明API版本中已弃用的命令,服务器将抛出异常。默认: null 。如果此参数为null,则服务器将应用其默认值 false 。 |
以下代码示例显示了在构造 MongoDB\Driver\ServerApi
对象时如何使用这些参数
$uri = "mongodb://<hostname>:<port>"; $serverApi = new MongoDB\Driver\ServerApi('1', strict: true, deprecationErrors: true); $driverOptions = ['serverApi' => $serverApi]; $client = new MongoDB\Client($uri, [], $driverOptions);
API 文档
有关 MongoDB\Client
类的更多信息,请参阅以下PHP库API文档
有关 MongoDB\Driver\ServerApi
类的更多信息,请参阅以下PHP扩展API文档