Docs Menu

新機能

次の新機能をご覧ください。

The 5.4 driver release includes the following changes, fixes, and features:

  • Supports $lookup operations for CSFLE and QE. To learn more, see the following references in the Server manual:

  • Updates AWS SDK dependencies to 2.30.31 and 1.12.782 for testing the MONGODB-AWS authentication mechanism.

  • 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 MONGODB-OIDC: Kubernetes section of the Enterprise Authentication Mechanisms guide.

  • Adds first class support for the following Atlas Search query operators:

    • phrase

    • regex

    • queryString

    • equals

    • moreLikeThis

    • in

    • wildcard

    To learn more, see the SearchOperator interface API documentation.

  • Updates cursors to refresh the timeoutMS setting when you call close() without affecting the operation timeout.

  • Enables you to use an index when calling the distinct() method by specifying a hint option.

To view a full list of changes in this release, see the v5.4 release notes on GitHub.

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 のサポートの削除

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

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

  • Enables setting a client-side operations timeout (CSOT). This feature allows you to set a single timeout on your MongoClient instance that applies to all operations performed with that client. To learn more, see the MongoClientSettings.Builder.timeout() API documentation.

    重要

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

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

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

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

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

  • 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 を返す問題を修正します。 この変更は、 Kotlin Sync ドライバー 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 クイック スタートを参照し、言語ドロップダウンからKotlin (Sync)を選択してください。

  • Kotlin の日付と時刻型を string ではなく、期待される型として BSON にマッピングできるkotlinx-datetimeライブラリのシリアライザーのサポートを追加します。 詳細については、 Kotlin 直列化 ガイドの「日付と時刻を直列化する 」セクションを参照してください。

  • JsonElement の直列化をサポートします 値。JsonElementタイプを扱うには、アプリケーションにkotlinx-serialization-jsonライブラリを依存関係として追加する必要があります。

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

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

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

  • null 可能なジェネリック パラメータ型で Kotlin データ クラスをエンコードするためのサポート。 たとえば、次のコードでContainerクラスをエンコードできます。

    @Serializable
    data class Box<T>(
    val boxed: T
    )
    @Serializable
    data class Container(
    val box: Box<String?>
    )

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

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

警告

このリリースの廃止

ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。

このセクションには、次の情報が含まれています。

  • MongoDB Server v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。

  • GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。

  • MONGODB-OIDC認証メカニズムのサポートが強化されました。

  • 多形のMongoCollectionインスタンスの使用時に操作で誤ったコーデックが使用される問題を修正しました。 これにより、 bson-kotlinxを使用するときに弁別子情報が失われることがなくなります。

  • 多形のMongoCollectionインスタンスを使用する際に、クラス弁別子がデコード中の最初のフィールドであり、フィールド型エラーが発生する問題を修正します。

  • 多態的な 直列化 のサポート。 詳細については、 Kotlin 直列化 ガイドの「多形直列化」セクションを参照してください。

  • serverMonitoringMode接続 URI オプションを導入します。 詳細については、「接続オプションの指定 」ガイドを参照してください。

5.0 ドライバー リリースの新機能は次のとおりです。

  • KotlinSerializerCodecProviderコンストラクターがserializersModule bsonConfigurationオブジェクトと オブジェクトを受け入れるようになりました。

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    これにより、構成をカスタマイズしやすくなります。

  • コンテナ タイプの消去につながる Kotlin 反映バグを修正します。