Stable API
注意
Stable API 機能には MongoDB Server 5.0 以降が必要です。
Stable API 機能は、接続するすべての MongoDB サーバーがこの機能をサポートしている場合にのみ使用する必要があります。
Overview
このガイドでは、MongoDB インスタンスまたはレプリカセットに接続するときにStable API互換性を指定する方法を学習できます。
Stable API 機能を使用すると、指定された API バージョンと互換性のある動作でサーバーに操作が強制的に実行されます。 ドライバーまたはサーバーのいずれかを更新すると、API バージョンが変更され、これらの操作の動作が変わる可能性があります。 Stable API を使用すると、サーバーからの一貫した応答が確保され、アプリケーションの API の長期的な安定性が確保されます。
次のセクションでは、MongoDB クライアントの Stable API を有効にしてカスタマイズする方法について説明します。 カバーされるコマンドのリストを含む Stable API の詳細については、 MongoDB リファレンス ページをご覧ください。
MongoDB クライアントでの Stable API の有効化
Stable API を有効にするには、MongoDB クライアントの設定で API バージョンを指定する必要があります。 指定された API バージョンで MongoClient
インスタンスをインスタンス化すると、クライアントで実行されるすべてのコマンドがそのバージョンの Stable API を使用します。
Tip
MongoClient
を作成した後は、その Stable API バージョンを変更することはできません。 Stable API の複数のバージョンを使用してコマンドを実行する必要がある場合は、そのバージョンの個別のクライアントをインスタンス化します。
Stable API でカバーされていないコマンドを実行する必要がある場合は、"strict" オプションが無効になっていることを確認してください。 詳細については、 Stable API オプションのセクションを参照してください。
次の例は、Stable API バージョンでMongoClient
をインスタンス化し、次の操作でサーバーに接続する方法を示しています。
ServerApi
インスタンスを構築し、Stable API バージョンを指定します。MongoClientSettings
オブジェクトを作成し、ServerApi
プロパティを設定します。MongoClientSettings
オブジェクトを使用してMongoClient
を作成します。
var serverApi = new ServerApi(ServerApiVersion.V1); var settings = new MongoClientSettings { ServerApi = serverApi }; var client = new MongoClient(settings);
警告
API バージョンを指定して、Stable API をサポートしていない MongoDB サーバーに接続すると、MongoDB サーバーでコマンドを実行するときにコードで例外が発生する可能性があります。 API バージョンを指定するMongoClient
を使用して、そのバージョンをサポートしていないサーバーをクエリすると、クエリが失敗する可能性があり、次のテキストを含む例外メッセージが表示されます。
Unrecognized field 'apiVersion' on server...
Stable API オプション
次の表のオプションを使用して、Stable API の動作をカスタマイズできます。
オプション名 | 説明 |
---|---|
厳密 | Optional. When true , if you call a command that is not part of
the declared API version, the driver raises an exception.Default: false |
DeprecationErrors | Optional. When true , if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
次の例は、 ServerApi
オブジェクトを構築するときにこれらのオプションを設定する方法を示しています。
var serverApi = new ServerApi(ServerApiVersion.V1, strict: true, deprecationErrors: true);
API ドキュメント
MongoDB .NET/C# ドライバーで Stable API を使用する方法の詳細については、次の API ドキュメントを参照してください。