Docs Menu
Docs Home
/ / /
Java 同期

新機能

項目一覧

  • 今後の重大な変更
  • 4.9 の新機能
  • 4.8 の新機能
  • 4.7.1 での新機能
  • 4.7 の新機能
  • 4.6 の新機能
  • 4.5.1 での新機能
  • 4.5 で追加された機能
  • 4.4 の新機能
  • 4.3 の新機能
  • 4.2 の新機能
  • 4.1 の新機能
  • 4.0 の新機能

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

  • MapReduceIterable MongoCollection の map-reduce メソッド は MongoDB v では非推奨です。42以降に更新します。 これらは集計フレームワークに置き換えられ、将来のリリースで削除される予定です。

重要

集計式操作はbeta

このドライバー バージョンでは、 集計式を作成するための API が導入されています。 この機能はbetaフェーズにあります。

4.9 ドライバー リリースの新機能には、次のものが含まれます。

  • BsonCreatorによって注釈が付けられたコンストラクターに、 BsonPropertyまたはBsonId以外の注釈を持つパラメーターが含まれているかどうかを識別する新しい例外を追加しました。

  • org.mongodb.driver.protocol.commandパッケージによって報告されるコマンド モニタリング メッセージの ログ メッセージ形式を変更しました。

  • パイプライン ステージのサポートを追加し$documents まし た ヘルパー クラス。

  • MongoClientSettings.Builder.applyToLoggerSettings() を 追加しましたおよび LoggerSettings.Builder.maxDocumentLength()メソッドを使用すると、ログ メッセージで BSON ドキュメントの拡張 JSON 表現の最大長を指定できます。

警告

v4.8 での重大な変更

v4.8 ドライバーには重大な変更が含まれています。 詳細については、「バージョン 4.8 の重大な変更 」および「バージョン 4.8 サーバー リリースのサポート変更 」を参照してください。

重要

非推奨に関する通知

IterableCodecクラスとMapCodecクラスは非推奨です。 代わりに、 CollectionCodecMapCodecV2を使用してください。 これらはCollectionまたはMapを実装する任意のクラスをサポートします。

4.8 ドライバー リリースによる動作の変更は次のとおりです。

  • アプリケーションが OSG コンテナにドライバーを配置し、Java レコードのエンコードとデコードでドライバーに依存する場合は、 org.bson.codecs.recordモジュールに明示的な依存関係を追加する必要があります。

  • 新しい接続メッセージのログ記録。 INFOではなくDEBUGレベルで実行されます。

4.8 ドライバー リリースの新機能には、次のものが含まれます。

  • Amazon Web Servicesによる認証をサポートします。 ドライバーは、 Amazon Web Services SDK バージョン 1 とバージョン 2 の両方でオプションの 依存関係を取得します。

  • 使用中の暗号化のために、GCP と Azure の両方の環境から認証情報を取得するためのサポート。

  • ジェネリック パラメーターを持つコンポーネントを含むレコードの逆シリアル化をサポートします。

  • より具体的なコンテナ タイプを持つコンポーネントを含むレコードの逆シリアル化をサポートします。たとえば、 SortedSetNavigableMapLinkedListTreeSetなどです。

  • 再帰レコードタイプ(タイプ定義にサイクルが含まれているレコード)のサポート。

  • MongoDB v 6.1以降でshowExpandedEventsサーバー機能が有効になっている場合に、 変更ストリーム アップデート イベントにdisambiguatedPathsフィールドを含めます。 getDistributionPaths() からのこのフィールドの詳細 API ドキュメント。拡張イベントサーバーのドキュメントからshowExpandedEvents設定の詳細を確認します。

4.7.1 ドライバーは、 クライアント側のフィールドレベル暗号化 とQueryable Encryptionに影響するバグをパッチします。 このバグにより、 GCPKMSまたは でホストされている カスタマー マスター キー で暗号化された DEK( Data Encryption Key 、データ暗号化キー)をローテーションするときにデータが破損する可能性があります。Azure Key VaultこのバグはRewrapManyDataKeyメソッドのドライバーのバージョン4.7.0に存在し、DEK が失われる原因でした。

重要

キーヴォールトコレクションのバックアップ

DEK をローテーションする前は、必ずキーヴォールトコレクションをバックアップしてください。 DEK を紛失すると、それらのキーで暗号化されたすべてのデータにアクセスできなくなります。

警告

v4.7 での重大な変更

v4.7 ドライバーには重大な変更が含まれています。 詳細については、「バージョン 4.7 の重大な変更 」を参照してください。

4.7 ドライバー リリースの新機能には、次のものが含まれます。

  • MongoDB 6.0 の完全なサポートを追加しました。

  • 次の変更ストリーム サポートの改善を追加しました。

    • 変更ストリームの変更前と変更後のイメージのサポートを強化しました。 変更ストリーム監視ヘルパーがfullDocumentオプションにwhenAvailablerequiredを受け入れるようになりました。 詳細については、変更ストリームのリファレンス ドキュメントを参照してください。

    • 新しいfullDocumentBeforeChangeオプションを追加し、 whenAvailablerequiredを受け入れます。

    • MongoDB コレクションで表示するように構成された場合、変更イベントにはfullDocumentBeforeChangeフィールドが含まれるようになりました。

    • 変更ストリームのshowExpandedEventsサポートを追加しました。

    • ChangeStreamDocumentクラスにwallTimeのサポートを追加しました。

  • クラスター化インデックスの作成 のサポートを追加しました。

  • 自動暗号化のサポートを含む、 Queryable Encryptionに関連する新機能のサポート( MongoDB v 6.0 Enterprise 以降が必要です)と手動暗号化。

    • 新しい Queryable Encryption 共有ライブラリのサポートにより、 mongocryptdプロセスが不要になります。 Queryable Encryption共有ライブラリには org.mongodb:mongodb-crypt が必要です バージョン1.5.1.1 以降。

  • 暗号化キー管理用の新しい API を追加しました。

  • $search / $searchMeta (Atlas のみ)、 $densify$fillなどの追加の集計ステージのビルダ API メソッドを追加しました。 これらのメソッドの詳細については、集計ビルダページをご覧ください。

  • POJO のエンコードとデコードで使用できるBsonExtraElementsアノテーションを追加しました。 BsonExtraElementsは、開発者が新しいフィールドを明示的にマッピングする必要なく、将来新しいフィールドを受け取る可能性のあるオブジェクトのデコードを有効にします。

  • 次のようなパフォーマンスの最適化。

    • サーバー セッション プールとバッファ プールのロックフリーの実装。

    • 終了処理の代わりに Java の クリーンアップ API を使用するDBCursorの新しいクリーンアップ実装で、Java 9 以降で利用可能です。

  • setWindowFieldsビルダAPIはbeta機能ではなくなりました。 API の変更により、バイナリとソースの互換性の両方が中断されます。 詳細については、「バージョン 4.7 の重大な変更 」を参照してください。

4.6 Java ドライバー リリースの新機能には、次のものが含まれます。

  • バッファ プールがすべてのMongoClientインスタンスで共有されるようになりました。 バッファ プールは、1 分間アイドル状態だったバッファをプルします。

  • APIAmazon Web ServicesKMSクライアント側のフィールドレベル暗号化(CSFLE )の 認証情報のプロバイダーを指定するための を追加しました。詳細については、 AutoEncryptionSettings.Builder. kmsProviderProviderProperty App Servicesupsers()および ClientEncryptionSettings.Builder. kmsProviderProperty App Servicesuplers()詳細については、API ドキュメントを参照してください。

  • Apple M1 ARM ベースのハードウェアで、CSFLE の依存関係であるorg.mongodb:mongodb-cryptとの互換性を追加しました。

  • ドライバーでカスタム DNS クライアントを指定できるようにするためのサービス プロバイダー インターフェイス(SPI)を追加しました。 詳細 : DnsClient および DnsClientProvider 詳細については、 インターフェース API ドキュメント を参照してください。

  • Java レコード 間のエンコードとデコードのドライバー サポートを追加しました および BSON ドキュメント。これらはデフォルトで有効になっています。詳細については、「ドキュメントデータ形式: レコード」を参照してください。

DNS サーバーが存在しないドメインを示す IXDomain エラーを返す場合、4.5.1 ドライバーは例外をスローしなくなります。

4.5 Java ドライバー リリースの新機能には、次のものが含まれます。

  • SRV リソース レコードのカスタム サービス名を指定するためのサポートを追加しました。 詳細については、接続オプションガイドのsrvServiceName設定を参照してください。

  • CodecRegistries.withUuidRepresentation()メソッドを使用して、コーデック レジストリで UUID 表現をカスタマイズするためのサポートを追加しました。

  • ClusterSettingsServerSettingsConnectionPoolSettingsビルダでリスナー設定をオーバーライドするためのサポートを追加しました。

  • ClusterListenerServerListenerServerMonitorListenerが受信するすべてのイベントは、リスナーが異なる MongoClient インスタンスによって共有されていない場合、発生前関係を使用して完全に順序付けられるようになりました。 順序付けの前の実行の詳細については、「 順序の 前の実行 」 を参照してください。 Java 言語仕様 に含まれています。

  • クラスから EnumCodecEnumCodecProvider型のコーデックを個別にサポートするようにenumPojoCodec クラスと クラスを追加しました。インターフェースと インターフェースからアクセス可能な デフォルトのコーデック レジストリにMongoClientSettings Bsonenumコーデック クラスが含まれるようになりました。アプリケーションでカスタム列挙コーデックとデフォルトのレジストリの 1 つを使用する場合は、コーデックの上書きに関するセクションで説明されているように、それらを順序付けてください。

  • ドライバーのバージョン4.4および4.3に影響するパフォーマンスの問題を解決しました。 このバージョンのパフォーマンスは、 4.2のパフォーマンスと同様である必要があります。

  • クラスター説明の取得に関連するエラーがonErrorサブスクリプションのコールバックに渡されない問題を解決しました

  • 圧縮を有効にして接続すると、 ByteBufインスタンスが解放される問題を解決しました。

  • javax.annotation.*パッケージの不要な依存関係をorg.mongodb.driver-core OSGi バンドルから削除しました。

4.4 Java ドライバー リリースの新機能には、次のものが含まれます。

  • MongoDB 5.1 との互換性および Java 17 のサポート

  • インデックス ヒントのサポートを追加 AggregateIterable

  • セカンダリの$merge$outの集計ステージのサポートを追加しました

  • UpdatesビルダでのmergeObjects()メソッドの使用

  • DocumentCodec は、 IterableまたはMapインスタンスに書き込むときにCodecRegistryを無視しません

4.3 Java ドライバー リリースの新機能には、次のものが含まれます。

  • MongoDB Stable API のサポートを追加しました。 詳しくは、 Stable API ガイド をご覧ください。

    注意

    2022 年 2 月以降、 Versioned APIStable APIという名前に変更しました。 この用語の変更によるコンセプトと機能についての変更はありません。

  • MongoDB Atlas サーバーレスインスタンスへの接続のサポートを追加しました。 セットアップの詳細については、 新しいサーバーレスインスタンスの作成に関するドキュメントを参照してください。

  • ウィンドウ演算子を使用できるようにするためにsetWindowFieldsパイプライン ステージのビルダ API を追加しました

  • Netty io.netty.handler.ssl.SslContext の設定のサポートを追加しました。

  • スナップショット読み取りのサポートを に追加 ClientSession

  • 接続プールごとに新しい接続を確立する速度を制限する

  • 挿入または置き換えるドキュメントのフィールド名に許容される文字に関するほとんどの制限を削除しました。 これは、これらの制限のクライアント側の適用に依存しているアプリケーションの動作の変更です。

次の表は、ドキュメントのフィールド名に使用できる文字の制限ステータスを示しています。

文字
操作
説明
.
挿入と置換
この文字を含むフィールド名に対する制限を解除しました。
$
Insert
この文字で始まるフィールド名の制限を削除しました。
$
置換
この文字を含むフィールド名に対するネストされたドキュメントの制限を削除しました。
$
置換
この文字で始まるフィールド名について、最上位ドキュメントで制限を維持しました。 これにより、更新操作を使用する際に置換操作を使用するという誤った使用を防止できます。

注意

ドル記号のプレフィックスが付いたキーまたはドットのキーを使用した未確認の書込みが、5.0 より前のバージョンでは暗黙で拒否される可能性があります。 フィールド名に関する一部の制限は、サーバー内で引き続き適用されます。

警告

v4.2 での重大な変更

v4.2 ドライバーには重大な変更が含まれています。 詳細については、「バージョン 4.2 の重大な変更 」を参照してください。

4.2 Java ドライバー リリースの新機能には、次のものが含まれます。

  • クライアント側のフィールドレベル暗号化に Azure と GCP キー ストアを追加しました

  • 複数の認証リクエストで再利用するために Kerberos キャッシュ チケットを追加しました

  • 追加され た MongoClients インスタンス MongoClientSettingsまたは が構成として含まれているインスタンスConnectionString

  • explain()find での メソッドの使用 と の 集計 コマンド

  • JsonObject を追加しました クラスを使用して、中間マップ表現を回避して、JSON からのエンコードと JSON へのデコードの効率を高めます

  • BsonRepresentation を追加しましたObjectId StringPOJO で BSON 値を として表現できる注釈 クラス

  • Filters. empty() を追加しましたメソッド

4.1 Java ドライバー リリースの新機能には、次のものが含まれます。

  • 計画されたメンテナンス イベント中に、クライアントが認識するフェイルオーバー時間を大幅に短縮

  • Update() および delete() メソッドはインデックス ヒントをサポートするようになりました

  • find()メソッドは allowDiskUse() をサポートしています RAM で実行するには多くのメモリを必要とするソートの場合

  • MONGODB-Amazon Web Amazon Web Services ( Amazon Web Services )の IAM(Identity and Access Management、ID とアクセス管理)認証情報を使用する Amazon Amazon Web Services認証メカニズムのサポートを追加しました

  • 認証に必要なサーバーへのラウンドトリップが少なくなり、接続設定が高速化されます

警告

v4.0 での重大な変更

v4.0 ドライバーには重大な変更が含まれています。 詳細については、「バージョン 4.0 の重大な変更 」を参照してください。

このリリースでは新機能は追加されません。

戻る

クイック リファレンス