Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/

Stable API

項目一覧

  • API バージョンの宣言
  • Strict API
  • 非推奨コマンドで失敗
  • コマンド ヘルパーで使用する

API バージョンを宣言するには、クライアントの作成時に serverApiドライバー オプションを渡します。 値は MongoDB\Driver\ServerApi です API バージョン情報を含むインスタンス。この機能は MongoDB 5で導入されています。 0は、最初は API バージョン " 1のみをサポートします。 サーバーの将来のバージョンで、追加のバージョンが導入される可能性があります。

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);
// Command includes the declared API version
$client->database->collection->find([]);

注意

5.0 より前の配置に接続する場合にのみ API バージョンを宣言します。 メンバー。 古いサーバーでは、宣言された API バージョンを持つコマンドに遭遇すると、 エラーが発生します。

デフォルトでは、API バージョンを宣言すると、stable API の構成コマンドの動作が保証されますが、API バージョンに含まれないコマンドの使用は禁止されません。 Stable API の一部のコマンドとオプションのみを許可するには、strict MongoDB\Driver\ServerApi を作成するときに オプションを指定します インスタンス:

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1, true);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);
// Will fail as the tailable option is not supported in versioned API
$client->database->collection->find([], ['tailable' => true]);

任意のdeprecationErrorsオプションを使用すると、MongoDB は API バージョンで非推奨になっているすべてのコマンドや動作を失敗させます。 これはテストに使用して、将来の API バージョンへのスムーズな移行を確保します。

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1, null, true);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);

注意

この書き込みの時点で、API バージョン "1" のどの部分も非推奨になっていません。

MongoDB\Database::command()メソッドを使用して任意のコマンドを実行すると、クライアントに宣言された API バージョンが自動的にコマンド ドキュメントに追加されます。 コマンド ドキュメントでapiVersionapiStrict 、またはapiDeprecationErrorsコマンド オプションのいずれかを設定し、宣言された API バージョンを持つクライアントからMongoDB\Database::command()を呼び出す場合はサポートされておらず、未定義の動作が発生します。

戻る

BSON データのモデリング