MongoDB PHPライブラリの次のバージョンで導入されている新機能、改善点、修正について説明します。
1.21の新機能
PHPライブラリ v1.21 リリースには、次の機能、改善点、修正が含まれています。
集計パイプラインをよりタイプセーフな方法で構築するためのAPIである Aggregation Builder を導入します。詳細と例については、 集計ガイドの「集計ビルダ」セクションを参照してください。
次のメソッドを追加します。
MongoDB\Client::getDatabase()
: のエイリアスMongoDB\Client::selectDatabase()
MongoDB\Database::getCollection()
: のエイリアスMongoDB\Database::selectCollection()
MongoDB\Database::getCollection()
: のエイリアスMongoDB\Database::selectCollection()
Client::selectCollection()
、Client::selectDatabase()
、Database::selectCollection()
メソッドは非推奨となり、今後のドライバー リリースでこれらの新しいメソッドに置き換えられる予定です。そのため、アプリケーションで 使用方法を変更する ことを検討してください。SearchStage
、VectorSearchStage
、SearchMetaStage
ビルダ クラスの名前付き引数を追加します。この変更により、Atlas Search および Atlas ベクトル検索クエリをより型安全性と整理された方法で記述できます。 詳細については、「Atlas Search クエリの実行」および「Atlas ベクトル検索クエリの実行」ガイドを参照してください。非推奨の MMAPv1 ストレージエンジンで使用される
flags
オプションを廃止します。このオプションは、 PHPライブラリ v2.0 で削除されます。MongoDB\Collection::updateOne()
メソッドとMongoDB\Collection::replaceOne()
メソッドにソート オプションを追加します。この変更により、 一括操作でアップデート操作と置換操作を実行するときに、オプションとしてソート順序を設定できるようになります。次のメソッドに
builderEncoder
オプションを追加します。
このバージョンの変更の詳細については、Github で v1.21 リリースノート を参照してください。
1.20の新機能
重要
MongoDB Server v 3.6 サポート終了
このライブラリのリリースでは、 MongoDB Server v 3.6のサポートが削除されています。
MongoDB Server v 8.0のサポートを追加します。
Queryable Encryption(QE)範囲クエリのサポートを追加します。 この機能を使用するには、アプリを MongoDB Server 8.0以降に接続する必要があります。 QEQueryable Encryption 範囲クエリの詳細については、MongoDB Server マニュアルの「 」を参照してください。
シャーディングされたシャーディングされたクラスター操作が成功しない場合、ライブラリは他の
mongos
サーバーが使用可能な場合、操作の再試行に同じmongos
サーバーを選択することを回避します。KMIP データキーを作成する際に、
delegated
オプションを指定できるようになりました。 このオプションをtrue
に設定すると、KMIP プロバイダーはデータキーの暗号化と復号化をローカルで実行し、暗号化のキーが KMIPサーバーから離れることはありません。type
メソッドとMongoDB\Collection::createIndex()
MongoDB\Collection::createSearchIndexes()
メソッドの検索インデックス仕様に オプションを追加します。この変更により、Atlas ベクトル検索インデックスをプログラムで作成できるようになります。 詳細と例については、「 Atlas Search インデックスガイド 」を参照してください。
このバージョンの変更の詳細については、 Githubの v1.20 リリースノート を参照してください。
1.19の新機能
PHPライブラリのこのリリースでは大きな変更は含まれておらず、 PHP拡張機能とバージョンの同等性を保つために追加されています。
1.18の新機能
PHP の既存のファイルシステム関数を使用してファイルを操作しやすくするために、新しいGridFS APIを追加します。
MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias()
メソッドを使用して、 GridFSバケットのグローバル エイリアスを登録できます。そうすると、そのバケット内のファイルにはファイルURI のみを使用してアクセスできるようになります(例:" Gridds://mybucket/hello.txt ")。このAPIのデモは、 gridfs_stream_wrapper.php 例スクリプトにあります。基礎の
MongoDB\Driver\Manager
オブジェクトにスコープが設定されたモニタリング クラスの登録を容易にするために、MongoDB\Client
クラスにMongoDB\Client::addSubscriber()
} メソッドとMongoDB\Client::removeSubscriber()
メソッドを追加します。
このリリースの詳細については、 Githubの v1.18 リリースノート を参照してください。
1.17の新機能
BSONとPHPオブジェクトを変換するための新しい「コーデック」 APIを導入します。 この機能の詳細については、「コーデック チュートリアル」を参照してください。
ライブラリに
MongoDB\add_logger()
とMongoDB\remove_logger()
関数を追加します。これらの関数を使用すると、アプリケーションは PSR-3 Logger を登録し、ドライバーが出力するログメッセージを受信できるようにします。以前は、ログは拡張機能の mongodb.debugINI
設定でのみ利用可能でした。Atlas Search インデックスを作成および管理するための新しい
MongoDB\Collection
メソッドを導入します。 Atlas Search インデックスは、ライブラリのすべてのバージョンでサポートされている$search
集計パイプラインステージを使用してクエリできます。 Atlas Search インデックスと$search
集計ステージの詳細については、 Atlas Search インデックスに関するドキュメントと$search を参照してください。mongodb
の拡張要件を1.17.0にアップグレードします。 PHP 7.2および7.3のサポートは削除され、ライブラリにはPHP 7.4以上が必要になりました。
このリリースの詳細については、 Githubの v1.17 リリースノート を参照してください。