Stable API
注意
Stable API 機能には MongoDB Server 5.0 以降が必要です。
Overview
このガイドでは、MongoDB 配置に接続するときにStable API互換性を指定する方法を学習できます。
Stable API機能を使用すると、指定されたAPIバージョンと互換性のある動作でサーバーに操作が強制的に実行されます。ライブラリまたはサーバーのいずれかのバージョンを更新すると、 APIバージョンが変更され、これらの操作の動作が変わる可能性があります。 Stable APIを使用すると、サーバーからの一貫した応答が確保され、アプリケーションのAPIの長期的な安定性が確保されます。
次のセクションでは、MongoDB クライアントの Stable API を有効にしてカスタマイズする方法について説明します。 サポートするコマンドのリストを含む、Stable API Stable APIの詳細については、MongoDB Server マニュアルの を参照してください。
Stable API を有効にする
Stable API を有効にするには、次の手順を実行します。
MongoDB\Driver\ServerApi
オブジェクトを作成し、使用する Stable APIバージョンを渡します。現在、ライブラリはバージョン1のみをサポートしています。MongoDB\Client
オブジェクトを構築します。driverOptions
パラメーターには、serverApi
オプションを含む配列を渡します。このオプションは、前のステップで作成したMongoDB\Driver\ServerApi
オブジェクトに設定します。
次のコード例は、Stable API バージョン1を指定する方法を示しています。
$uri = "mongodb://<hostname>:<port>"; $driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client($uri, [], $driverOptions);
注意
指定されたAPIバージョンでMongoDB\Client
インスタンスを作成すると、クライアントで実行されるすべてのコマンドで指定されたバージョンが使用されます。 Stable APIの複数のバージョンを使用してコマンドを実行する必要がある場合は、新しいMongoDB\Client
インスタンスを作成します。
Stable API の構成
MongoDB\Driver\ServerApi
コンストラクターは、次の任意パラメーターも受け入れます。これらのパラメーターを使用して、 Stable APIの動作をカスタマイズできます。
Parameter | 説明 |
---|---|
厳密 | Optional. When true , if you call a command that isn't part of
the declared API version, the server raises an exception.Default: null . If this parameter is null, the server applies its default
value of false . |
deleteErrors | Optional. When true , if you call a command that is deprecated in the
declared API version, the server raises an exception.Default: null . If this parameter is null, the server applies its default
value of 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ドキュメントを参照してください。