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 を有効にするには、次の手順を実行します。
mongocxx::options::server_api
オブジェクトを作成し、Stable APIバージョンを指定します。mongocxx::options::server_api::version
列挙型 で定義された Stable APIバージョンを使用する必要があります。 現在、ドライバーはバージョン1 (k_version_1
)のみをサポートしています。mongocxx::options::client
オブジェクトを構築します。 このオブジェクトのserver_api_opts
フィールドを、前のステップで作成したserver_api
オブジェクトに設定します。mongocxx::uri
オブジェクトと前のステップで作成したmongocxx::options::client
オブジェクトを渡して、mongocxx::client
オブジェクトを構築します。
次のコード例は、Stable API バージョン1を指定する方法を示しています。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>"); mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1); mongocxx::options::client client_options; client_options.server_api_opts(server_api_options); mongocxx::client client(uri, client_options); }
注意
指定されたAPIバージョンでmongocxx::client
インスタンスを作成すると、クライアントで実行されるすべてのコマンドで指定されたバージョンが使用されます。 Stable APIの複数のバージョンを使用してコマンドを実行する必要がある場合は、新しいmongocxx::client
インスタンスを作成します。
Stable API の構成
次の表では、 server_api_options
クラスのプロパティを説明します。 これらのプロパティを使用して、 Stable APIの動作をカスタマイズできます。
オプション名 | 説明 |
---|---|
厳密 | Optional. When true , if you call a command that isn't part of
the declared API version, the driver raises an exception.Default: false |
delete_errors | Optional. When true , if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
次のコード例は、 ServerApi
オブジェクトを構築するときにこれらのパラメータを使用する方法を示しています。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>"); mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1); server_api_options.strict(true); server_api_options.deprecation_errors(true); mongocxx::options::client client_options; client_options.server_api_opts(server_api_options); mongocxx::client client(uri, client_options); }
API ドキュメント
C++ドライバーで Stable APIを使用する方法の詳細については、次のAPIドキュメントを参照してください。