AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Stable API

注意

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

このガイドでは、MongoDB 配置に接続するときにStable API互換性を指定する方法を学習できます。

Stable API 機能を使用すると、指定された API バージョンと互換性のある動作でサーバーに操作が強制的に実行されます。 ドライバーまたはサーバーのいずれかを更新すると、API バージョンが変更され、これらの操作の動作が変わる可能性があります。 Stable API を使用すると、サーバーからの一貫した応答が確保され、アプリケーションの API の長期的な安定性が確保されます。

次のセクションでは、MongoDB クライアントの Stable API を有効にしてカスタマイズする方法について説明します。 Stable APIサポートするコマンドのリストを含むStable API の詳細については、MongoDB Server マニュアルの「 」を参照してください。

Stable API を有効にするには、次の手順を実行します。

  1. ServerApiオブジェクトを構築し、Stable API バージョンを指定します。 ServerApiVersion列挙型で定義された Stable API バージョンを使用する必要があります。

  2. server_api引数にServerApiオブジェクトを渡して、 MongoClientオブジェクトを構築します。

次のコード例は、Stable APIバージョン 1 を指定する方法を示しています。対応するコードを表示するには、Synchronous タブまたは Asynchronousタブを選択します。

from pymongo import MongoClient
from pymongo.server_api import ServerApi
client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1"))
from pymongo import AsyncMongoClient
from pymongo.server_api import ServerApi
client = AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1"))

指定された API バージョンでMongoClientインスタンスを作成すると、クライアントで実行されるすべてのコマンドが指定されたバージョンを使用します。 Stable API の複数のバージョンを使用してコマンドを実行する必要がある場合は、新しいMongoClientを作成します。

次の表では、 ServerApiクラスのパラメータを説明しています。 これらのパラメーターを使用して、Stable API の動作をカスタマイズできます。

オプション名
説明

厳密

任意。True の場合、宣言したAPIバージョンに含まれないコマンドを呼び出すと、ドライバーは例外を発生させます。デフォルト:

False

delete_errors

任意。True の場合、宣言したAPIバージョンで非推奨のコマンドを呼び出すと、ドライバーは例外を発生させます。デフォルト:

False

次のコード例は、ServerApiオブジェクトを構築するときにこれらのパラメータを使用する方法を示しています。対応するコードを表示するには、Synchronous タブまたは Asynchronousタブを選択します。

from pymongo import MongoClient
from pymongo.server_api import ServerApi
client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1",
strict=True,
deprecation_errors=True))
from pymongo import AsyncMongoClient
from pymongo.server_api import ServerApi
client = AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1",
strict=True,
deprecation_errors=True))

API バージョンを指定し、Stable API をサポートしていない MongoDB サーバーに接続すると、PyMongo はこの例外を発生させます。 MongoDB Server v 5.0以降を実行している配置に接続していることを確認してください。

指定した Stable API バージョンに含まれない操作をMongoClientが実行する場合、PyMongo はこの例外を発生させます。 このエラーを回避するには、指定された Stable API バージョンでサポートされている別の操作を使用するか、 ServerApiオブジェクトを構築するときにstrictオプションをFalseに設定します。

PyMongo で Stable API を使用する方法の詳細については、次の API ドキュメントを参照してください。