MongoDB Scala ドライバーの次のバージョンで導入されている新機能、改善点、修正について説明します。
5.4 の新機能
5.4 ドライバー リリースには、次の変更、修正、機能が含まれています。
クライアント一括書き込みAPIを実装し、同じ呼び出しで複数のデータベースとコレクションに対して書き込み操作を実行できます。この機能の詳細については、 一括書込み操作ガイドの「クライアントの一括書込み」セクションを参照してください。
CSFLE と QE の
$lookup操作をサポートします。詳細については、サーバー マニュアルの次の参照を参照してください。アプリケーションで使用する可能性のあるMongoDB JVMアーティファクトのバージョンを管理するための アイテムの請求書(BOM) を導入します。BOM をアプリケーションに追加する手順を表示するには、Maven Repository のウェブサイトにある mongodb-Driver-bom 依存関係のリスト を参照してください。sbt は BOM をサポートしていないため、依存関係マネージャーとして Maven を使用している場合にのみ BOM を使用できます。
MONGODB-AWS認証メカニズムをテストするために、 Amazon Web Services SDK の依存関係を 2.30.31 と 1.12.782 に更新します。ClientUpdateOneOptionsクラスとClientReplaceOneOptionsクラスに並べ替えオプションを追加します。この変更により、クライアントの一括書き込みで更新操作と置換操作のソート順序を設定できるようになります。詳細については、 一括書込み操作ガイドの「更新操作」および「置換操作」のセクションを参照してください。OIDC認証のKubernetesサポートを追加します。詳しくは、MongoCredential APIドキュメント を参照してください。
次のMongoDB Search クエリ演算子のファーストクラスのサポートを追加します。
phraseregexqueryStringequalsmoreLikeThisinwildcard
詳細については、 集計ガイドの「検索演算子ヘルパー メソッド」セクションを参照してください。
close()を呼び出すと、操作タイムアウトに影響せずにtimeoutMS設定を更新するようにカーソルを更新します。hintオプションを指定して、distinct()メソッドを呼び出すときにインデックスを使用できるようにします。
このリリースの変更の完全なリストを表示するには、 Githubの v5.4 リリースノートを参照してください。
5.3 の新機能
5.3 ドライバー リリースには、次の変更、修正、機能が含まれています。
重要: 次のマイナー リリースでは、 MongoDB Serverバージョン4.0 のサポートが終了し、サポートされる最小バージョンが4.2 に引き上げられます。重大な変更に対応するために、アプリケーションに変更を加えることをお勧めします。 アップグレードの詳細については、サーバー マニュアルの「 リリースノート 」セクションを参照してください。
ベクトルのストレージと検索用のBSONバイナリ サブタイプ 9 を実装するために
BinaryVectorクラスを追加します。 このクラスは、Doubleインスタンスのリストと比較して、値のより効率的なストレージを提供します。 ベクトルに含まれる要素の型に基づいて、次のベクトル型を作成できます。Int8BinaryVector: 8 ビット符号付き整数のベクトルFloat32BinaryVector: 浮動小数点数のベクトルPackedBitBinaryVector: バイナリ量子化ベクトル(ベータで、一般利用可能になるまでに変更される可能性があります)
この機能の詳細については、Atlas ドキュメントのベクトル量化を参照してください。このタイプの詳細については、 BinaryVector APIドキュメントを参照してください。
接続プールの実装から明示的な均等性を削除します。 この変更により、多くのアプリケーションスレッドで
MongoClientインスタンスを使用すると、スループットが向上する可能性があります。 ただし、この変更により 追尾レイテンシが増加する可能性があります。updateOne()メソッドとreplaceOne()メソッドに並べ替えオプションを追加します。 この変更により、ReplaceOneModelインスタンスとUpdateOneModelインスタンスの作成時にオプションとして並べ替えを設定することもできます。 詳しくは、「 ドキュメントの更新 」、「 ドキュメントの置換 」、および「 一括書込み操作 」のガイドを参照してください。
5.2 の新機能
重要
MongoDB Server 3.6 のサポートの削除
Scalaドライバー v5.2 はMongoDB Server3.6 のサポートを削除します。サーバーの互換性のあるバージョンの詳細については、「 互換性 」を参照してください。
5.2 ドライバー リリースには、次の変更、修正、機能が含まれています。
クライアント側操作タイムアウト(COT)の設定を有効にします。この機能を使用すると、
MongoClientインスタンスに単一のタイムアウトを設定して、そのクライアントで実行されるすべての操作に適用できます。詳細については、 「サーバー実行時間の制限」 のガイドを参照してください。重要
非推奨のタイムアウト オプション
次のタイムアウト オプションは非推奨です。
waitQueueTimeoutMSsocketTimeoutMSwTimeoutMSmaxTimeMSmaxCommitTimeMS
これらのオプションの機能を置き換えるには、CSO 機能を使用します。
SearchIndexModelインスタンスの構築時に渡すことができるSearchIndexTypeクラスを追加します。この変更により、 Atlas Search またはベクトル検索インデックスの作成時にインデックスタイプを指定できるようになります。詳しくは、SearchIndexModel APIドキュメント を参照してください。SCRAM-SHA-1とSCRAM-SHA-256認証メカニズムを実装するアルゴリズムの実装を、構成された JCA プロバイダーに委任します。 この変更により、アプリケーションは構成された FIPS 準拠の JCA プロバイダーを使用して、より高いレベルのセキュリティを提供できるようになります。JVMドライバーのバージョン管理と一致するように mongodb-crypt 依存関係のバージョン管理を改訂します。
mongodb-cryptの将来のバージョンはドライバーと一緒にリリースされ、同じバージョン番号を共有します。mongodb-cryptの依存関係を v5.2.0 にアップグレードする必要がありますこのリリースのドライバーをアップグレードする際。詳細については、 「使用中の暗号化」ガイドを参照してください。サポートされているすべてのプラットフォームにネイティブ暗号化を実装ことにより、パフォーマンスが向上しました。 次のリストでは、オペレーティング システムに応じて、この改善を実装するために必要なアクションについて説明します。
Windows :
mongodb-cryptのバージョンを v 5.2.0にアップグレードします。Mac :
mongodb-cryptのバージョンを v 5.2.0にアップグレードします。Linux :
mongodb-cryptJARファイルにバンドルされているファイルを使用する代わりに、ファイルシステムにlibmongocrypt.soを直接インストールします。libmongocryptをインストールするためのLinux手順については、サーバー マニュアルを参照してください。 パッケージマネージャーを使用してlibmongocryptをインストールすると、 Java Native Access(JLA)は、追加の構成なしでそれを見つけます。 あるいは、LD_LIBRARY_PATH環境変数をlibmongocryptパッケージのファイルパスに設定することで検索パスを指定できます。OpenSSL バイナリの互換性がない可能性があるため、バンドルされている共有ライブラリは OpenSSL にリンクされていないため、直接インストールすることをお勧めします。
共有ライブラリのロードは JANA によって処理されます。ライブラリ検索パス順序のロードルールについては、Nativeライブラリクラスのドキュメント を参照してください。
状況によっては
InsertOneResult.getInsertedId()メソッドとInsertManyResult.getInsertedIds()メソッドが誤ったドキュメントID を返す問題を修正します。 この変更は、 Scalaドライバー v 5.1.4および v 4.11.4にバックポートされます。シャーディングされたクラスター操作が成功しない場合、ドライバーは他の
mongosサーバーが使用可能な場合、操作の再試行に同じmongosサーバーを選択しないようにします。アプリケーションがGraalVM Native イメージを使用するときに必要なアクセス可能性メタデータを追加します。このメタデータは、ドライバー ライブラリを使用するときに到達可能性メタデータを収集する必要があることを置き換えます。詳細については、 GraalVM ドキュメントのアクセス可能性メタデータを参照してください。
この変更では、
libjnidispatchとlibmongocryptのリソースエントリは追加されません。サポートされているすべてのプラットフォーム(ターゲット)のエントリを追加すると、 GraalVM ネイティブ イメージを使用してビルドされたネイティブ実行可能ファイルのサイズに大きく影響するためです。このサンプルresource-config.jsonファイルをドライバーGithubリポジトリで表示して、アプリケーションがorg.mongodb:mongodb-cryptライブラリに依存している場合にこれらのエントリを明示的に指定する方法を確認します。VectorSearchOptionsAPI を拡張して次の特定のオプション サブタイプを導入することで、正確なベクトル検索を有効にします。ExactVectorSearchOptions: このオプション タイプを使用して完全一致を有効にし、結果が特定のクエリ ベクトルに最も近いベクトルになるようにします。ApproximateVectorSearchOptions: このオプション タイプを使用すると、正確な最も近いベクトルが返されない可能性がある検索を有効にできます。 このタイプをインスタンス化するときにnumCandidatesパラメータを渡して、考慮する最近傍の数を指定できます。
MongoDB ベクトル検索機能の使用の詳細については、 MongoDB ベクトル検索クイック スタート Scalaを参照し、言語ドロップダウンから を選択してください。
5.1.3の新機能
5.1.3 ドライバー パッチ リリースには次の変更が含まれています。
Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正しました。
5.1.1の新機能
5.1.1 ドライバー パッチ リリースには次の変更が含まれています。
MONGODB-OIDC認証メカニズムを使用する場合、authMechanismProperties接続string値にカンマ文字を含めることはできません。
5.1 の新機能
重要
MongoDB Server v 3.6 サポート終了
MongoDB Server v 3.6のサポートはこのリリースでは非推奨となり、ドライバーの v 5.2リリースで削除される予定です。
v 5.1で導入されたその他の変更については、 Java Sync Driver のドキュメントの 「新機能」ガイドを参照してください。