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ドキュメントを参照してください。