Docs Menu

新機能

MongoDB Scala ドライバーの次のバージョンで導入されている新機能、改善点、修正について説明します。

5.4 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • クライアント一括書き込みAPI を実装し、同じ呼び出しで複数のデータベースとコレクションに対して書き込み操作を実行できます。この機能の詳細については、 一括書込み操作ガイドの「 クライアント一括書込み 」セクションを参照してください。

  • CSFLE と QE の $lookup 操作をサポートします。詳細については、サーバー マニュアルの次の参照を参照してください。

  • MONGODB-AWS認証メカニズムをテストするために、 AWS SDK の依存関係を 2.30.31 と 1.12.782 に更新します。

  • Adds a sort option to the ClientUpdateOneOptions and ClientReplaceOneOptions classes. This change allows you to set a sort order for update and replace operations in client bulk writes. To learn more, see the アップデート操作 and 置換操作 sections of the Bulk Write Operations guide.

  • Adds Kubernetes support for OIDC authentication. To learn more, see the MongoCredential API documentation.

  • 次の Atlas Search クエリ演算子のファーストクラスのサポートを追加します。

    • phrase

    • regex

    • queryString

    • equals

    • moreLikeThis

    • in

    • wildcard

    詳しくは、「 SearchOperator インターフェースAPIドキュメント 」を参照してください。

  • close() を呼び出すと、操作タイムアウトに影響せずに timeoutMS 設定を更新するようにカーソルを更新します。

  • hint オプションを指定して、distinct() メソッドを呼び出すときにインデックスを使用できるようにします。

このリリースの変更の完全なリストを表示するには GitHub の v5.4 リリースノート を参照してください。

5.3 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • 重要: 次のマイナー リリースでは、 MongoDB Serverバージョン4.0 のサポートが終了し、サポートされる最小バージョンが4.2 に引き上げられます。重大な変更に対応するために、アプリケーションに変更を加えることをお勧めします。 アップグレードの詳細については、サーバー マニュアルの「 リリースノート 」セクションを参照してください。

  • ベクトルのストレージと検索用のBSONバイナリ サブタイプ 9 を実装するために BinaryVectorクラスを追加します。 このクラスは、 Double インスタンスのリストと比較して、値のより効率的なストレージを提供します。 ベクトルに含まれる要素の型に基づいて、次のベクトル型を作成できます。

    • Int8BinaryVector: 8 ビット符号付き整数のベクトル

    • Float32BinaryVector: 浮動小数点数のベクトル

    • PackedBitBinaryVector: バイナリ量化ベクトル(ベータで、一般利用可能になるまでに変更される可能性があります)

    この機能の詳細については、Atlas ドキュメントの「 ベクトル量化 」を参照してください。このタイプの詳細については、 BinaryVector APIドキュメントを参照してください。

  • 接続プールの実装から明示的な均等性を削除します。 この変更により、多くのアプリケーションスレッドで MongoClientインスタンスを使用すると、スループットが向上する可能性があります。 ただし、この変更により 追尾レイテンシが増加する可能性があります。

  • updateOne() メソッドと replaceOne() メソッドに並べ替えオプションを追加します。 この変更により、ReplaceOneModel インスタンスと UpdateOneModel インスタンスの作成時にオプションとして並べ替えを設定することもできます。 詳しくは、「 ドキュメントの更新 」、「 ドキュメントの置換 」、および「 一括書込み操作 」のガイドを参照してください。

重要

MongoDB Server 3.6 のサポートの削除

Scalaドライバー v5.2はMongoDB Server 3.6 のサポートを廃止します。サーバーの互換性のあるバージョンの詳細については、「 互換性 」を参照してください。

5.2 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • クライアント側操作タイムアウト(COT)の設定を有効にします。この機能を使用すると、MongoClient インスタンスに単一のタイムアウトを設定して、そのクライアントで実行されるすべての操作に適用できます。詳しくは、「 MongoClientSettings.Builder.timeout() APIドキュメント 」を参照してください。

    重要

    非推奨のタイムアウト オプション

    次のタイムアウト オプションは非推奨です。

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

    これらのオプションの機能を置き換えるには、CSO 機能を使用します。

  • SearchIndexModelインスタンスの構築時に渡すことができるSearchIndexTypeクラスを追加します。 この変更により、 Atlas Search またはベクトル検索インデックスの作成時にインデックスタイプを指定できるようになります。 詳細については、「 SearchIndexModel 」を参照してください APIドキュメント。

  • SCRAM-SHA-1SCRAM-SHA-256認証メカニズムを実装するアルゴリズムの実装を、構成された JCA プロバイダーに委任します。 この変更により、アプリケーションは構成された FIPS 準拠の JCA プロバイダーを使用して、より高いレベルのセキュリティを提供できるようになります。

  • mongodb -crypt を改訂します 依存関係のバージョン管理: JVMドライバーのバージョン管理と一致します。mongodb-cryptの将来のバージョンはドライバーと一緒にリリースされ、同じバージョン番号を共有します。 mongodb-cryptの依存関係を v 5にアップグレードする必要があります。 2 。 0 このリリースのドライバーをアップグレードする際。 詳細については、 「使用中の暗号化」ガイドを 参照してください。

  • サポートされているすべてのプラットフォームにネイティブ暗号化を実装ことにより、パフォーマンスが向上しました。 次のリストでは、オペレーティング システムに応じて、この改善を実装するために必要なアクションについて説明します。

    • Windows : mongodb-cryptのバージョンを v 5.2.0にアップグレードします。

    • Mac : mongodb-cryptのバージョンを v 5.2.0にアップグレードします。

    • Linux : mongodb-crypt JARファイルにバンドルされているファイルを使用する代わりに、ファイルシステムに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 ドキュメントを参照してください。

    この変更では、 libjnidispatchlibmongocryptのリソース エントリは追加されません。サポートされているすべてのプラットフォーム(ターゲット)のエントリを追加すると、 GraalVM ネイティブ イメージを使用してビルドされたネイティブ実行可能ファイルのサイズに大きく影響するためです。 このサンプル リソース-config.json を 表示Github アプリケーションが ライブラリに依存している場合に、これらのエントリを明示的に指定する方法を確認するには、ドライバー リポジトリのorg.mongodb:mongodb-crypt ファイルを参照してください。

  • VectorSearchOptions API を拡張して次の特定のオプション サブタイプを導入することで、正確なベクトル検索を有効にします。

    • ExactVectorSearchOptions : このオプション タイプを使用して完全一致を有効にし、結果が特定のクエリ ベクトルに最も近いベクトルになるようにします。

    • ApproximateVectorSearchOptions : このオプション タイプを使用すると、正確なベクトルが返されない可能性がある検索を有効にできます。 このタイプをインスタンス化するときにnumCandidatesパラメータを渡して、考慮する最近傍の数を指定できます。

    Atlas Vector Search 機能の使用の詳細については、 Atlas Vector Search クイック スタートを参照し、言語ドロップダウンからScalaを選択してください。

5.1.3 ドライバー パッチ リリースには次の変更が含まれています。

  • Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正しました。

5.1.1 ドライバー パッチ リリースには次の変更が含まれています。

  • MONGODB-OIDC 認証メカニズムを使用する場合、authMechanismProperties 接続string値にカンマ文字を含めることはできません。

重要

MongoDB Server v 3.6 サポート終了

MongoDB Server v 3.6のサポートはこのリリースでは非推奨となり、ドライバーの v 5.2リリースで削除される予定です。

v 5.1で導入されたその他の変更については、 Java Sync Driver のドキュメントの 「新機能」ガイドを参照してください。