Stable API
注意
Stable API 機能には MongoDB Server 5.0 以降が必要です。
接続しているすべての MongoDB サーバーがこの機能をサポートしている場合にのみ、Stable API 機能を使用します。
Overview
このガイドでは、MongoDB インスタンスまたはレプリカセットに接続するときにStable API互換性を指定する方法を学習できます。
Stable API 機能を使用すると、指定されたAPI バージョンと互換性のある動作でサーバーに操作が強制的に実行されます。 API バージョンは、カバーされる操作に期待される動作とサーバー応答の形式を定義します。 操作とサーバー応答は、指定する API バージョンによって異なる場合があります。
公式の MongoDB ドライバーで Stable API 機能を使用すると、Stable API でカバーされるコマンドの下位互換性の問題を心配することなく、ドライバーまたはサーバーを更新できます。
サーバーがカバーするコマンドの詳細については、 Stable API を参照してください。
API バージョンの指定
Client
は、オプションとして、 ClientOptions
を通じてServerAPIOptions
型を取得します。
API バージョンを指定するには、サーバー API オプションを含むSetServerAPIOptions()
メソッドをClientOptions
に追加します。 API バージョンを指定すると、 Client
は接続中に API バージョンと互換性のある操作を実行します。
注意
MongoDB Go ドライバーは現在、 ServerAPIVersion1
のみをサポートしています。
例
次の例では、Stable API バージョンを設定し、サーバーに接続するClient
をインスタンス化します。
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
動作の変更
ServerAPIOptions
型に追加することで、Stable API 機能の動作をさらに変更できます。オプションを指定しない場合、ドライバーは各オプションのデフォルト値を使用します。
方式 | 説明 |
---|---|
ServerAPI() | The API version to use. Default: ServerAPIVersion1 |
SetStrict() | Flag that indicates whether the server should return errors for features that aren't part of the API version. Default: false |
SetDeprecationErrors() | Flag that indicates whether the server should return errors for deprecated features. Default: false |
例
この例では、サーバーが次のアクションを実行するように指定しています。
API のバージョン 1 を使用する
バージョン 1 の一部ではない機能のエラーを返す
非推奨機能のエラーを返す
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version and append options in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1).SetStrict(true).SetDeprecationErrors(true) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
詳細情報
MongoDB インスタンスまたはレプリカセットへの接続の詳細については、「 接続ガイド 」を参照してください。
API ドキュメント
このセクションのオプションの詳細については、次の API ドキュメントを参照してください。