Docs Menu
Docs Home
/ / /
Go Driver
/

Stable API

項目一覧

  • Overview
  • API バージョンの指定
  • 動作の変更
  • 詳細情報

注意

Stable API 機能には MongoDB Server 5.0 以降が必要です。

接続しているすべての MongoDB サーバーがこの機能をサポートしている場合にのみ、Stable API 機能を使用します。

このガイドでは、MongoDB インスタンスまたはレプリカセットに接続するときにStable API互換性を指定する方法を学習できます。

Stable API 機能を使用すると、指定されたAPI バージョンと互換性のある動作でサーバーに操作が強制的に実行されます。 API バージョンは、カバーされる操作に期待される動作とサーバー応答の形式を定義します。 操作とサーバー応答は、指定する API バージョンによって異なる場合があります。

公式の MongoDB ドライバーで Stable API 機能を使用すると、Stable API でカバーされるコマンドの下位互換性の問題を心配することなく、ドライバーまたはサーバーを更新できます。

サーバーがカバーするコマンドの詳細については、 Stable 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 ドキュメントを参照してください。

戻る

TLS の有効化と構成