新機能
項目一覧
次の新機能をご覧ください。
今後の重大な変更
MapReduceIterable MongoCollection の map-reduce メソッド は MongoDB v では非推奨です。42以降に更新します。 これらは集計フレームワークに置き換えられ、将来のリリースで削除される予定です。
4.8 の新機能
警告
v4.8 での重大な変更
v 4.8ドライバーに重大な変更が含まれています。 バージョン4.8 の重大な変更 と バージョン を参照してください。 詳細については、 48サーバー リリース サポートの変更 を参照してください。
重要
非推奨に関する通知
IterableCodec
MapCodec
クラスと クラスは非推奨です。代わりに、 CollectionCodec
とMapCodecV2
を使用してください。 これらは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 の両方の環境から認証情報を取得するためのサポート。
ジェネリック パラメーターを持つコンポーネントを含むレコードの逆シリアル化をサポートします。
より具体的なコンテナ タイプを持つコンポーネントを含むレコードの逆シリアル化をサポートします。たとえば、
SortedSet
、NavigableMap
、LinkedList
、TreeSet
などです。再帰レコードタイプ(タイプ定義にサイクルが含まれているレコード)のサポート。
MongoDB v 6.1以降で
showExpandedEvents
サーバー機能が有効になっている場合に、 変更ストリーム アップデート イベントにdisambiguatedPaths
フィールドを含めます。 getDistributionPaths() からのこのフィールドの詳細 API ドキュメント。拡張イベントサーバーのドキュメントからshowExpandedEvents
設定の詳細を確認します。
4.7.1 での新機能
4.7.1 ドライバーは、 クライアント側のフィールドレベル暗号化 とQueryable Encryptionに影響するバグをパッチします。 このバグにより、 GCPKMSまたは でホストされている カスタマー マスター キー で暗号化された DEK( Data Encryption Key 、データ暗号化キー)をローテーションするときにデータが破損する可能性があります。Azure Key VaultこのバグはRewrapManyDataKey
メソッドのドライバーのバージョン4.7.0に存在し、DEK が失われる原因でした。
重要
キーヴォールトコレクションのバックアップ
DEK をローテーションする前は、必ずキーヴォールトコレクションをバックアップしてください。 DEK を紛失すると、それらのキーで暗号化されたすべてのデータにアクセスできなくなります。
4.7 の新機能
4.7 ドライバー リリースの新機能には、次のものが含まれます。
MongoDB 6.0 の完全なサポートを追加しました。
次の変更ストリーム サポートの改善を追加しました。
変更ストリームの変更前と変更後のイメージのサポートを強化しました。 変更ストリーム監視ヘルパーが
fullDocument
オプションにwhenAvailable
とrequired
を受け入れるようになりました。 詳細については、変更ストリームのリファレンス ドキュメントを参照してください。新しい
fullDocumentBeforeChange
オプションを追加し、whenAvailable
とrequired
を受け入れます。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 の新機能
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 ドキュメント。これらはデフォルトで有効になっています。詳細については、「ドキュメントデータ形式: レコード」を参照してください。
4.5.1 での新機能
DNS サーバーが存在しないドメインを示す IXDomain エラーを返す場合、4.5.1 ドライバーは例外をスローしなくなります。
4.5 で追加された機能
4.5 Java ドライバー リリースの新機能には、次のものが含まれます。
SRV リソース レコードのカスタム サービス名を指定するためのサポートを追加しました。 詳細については、接続オプションガイドの
srvServiceName
設定を参照してください。CodecRegistries.withUuidRepresentation()
メソッドを使用して、コーデック レジストリで UUID 表現をカスタマイズするためのサポートを追加しました。ClusterSettings
、ServerSettings
、ConnectionPoolSettings
ビルダでリスナー設定をオーバーライドするためのサポートを追加しました。ClusterListener
、ServerListener
、ServerMonitorListener
が受信するすべてのイベントは、リスナーが異なる MongoClient インスタンスによって共有されていない場合、発生前関係を使用して完全に順序付けられるようになりました。 順序付けの前の実行の詳細については、「 順序の 前の実行 」 を参照してください。 Java 言語仕様 に含まれています。クラスから
EnumCodec
EnumCodecProvider
型のコーデックを個別にサポートするようにenum
PojoCodec
クラスと クラスを追加しました。インターフェースと インターフェースからアクセス可能な デフォルトのコーデック レジストリにMongoClientSettings
Bson
enum
コーデック クラスが含まれるようになりました。アプリケーションでカスタム列挙コーデックとデフォルトのレジストリの 1 つを使用する場合は、コーデックの上書きに関するセクションで説明されているように、それらを順序付けてください。ドライバーのバージョン4.4および4.3に影響するパフォーマンスの問題を解決しました。 このバージョンのパフォーマンスは、 4.2のパフォーマンスと同様である必要があります。
クラスター説明の取得に関連するエラーが
onError
サブスクリプションのコールバックに渡されない問題を解決しました圧縮を有効にして接続すると、
ByteBuf
インスタンスが解放される問題を解決しました。javax.annotation.*
パッケージの不要な依存関係をorg.mongodb.driver-core
OSGi バンドルから削除しました。
4.4 の新機能
4.4 Java ドライバー リリースの新機能には、次のものが含まれます。
MongoDB 5.1 との互換性および Java 17 のサポート
インデックス ヒントのサポートを追加
AggregateIterable
セカンダリの
$merge
と$out
の集計ステージのサポートを追加しましたUpdates
ビルダでのmergeObjects()
メソッドの使用DocumentCodec
は、Iterable
またはMap
インスタンスに書き込むときにCodecRegistryを無視しません
4.3 の新機能
4.3 Java ドライバー リリースの新機能には、次のものが含まれます。
MongoDB Stable API のサポートを追加しました。 詳しくは、 Stable API ガイド をご覧ください。
注意
2022 年 2 月以降、 Versioned APIはStable APIという名前に変更しました。 この用語の変更によるコンセプトと機能についての変更はありません。
MongoDB Atlas サーバーレスインスタンスへの接続のサポートを追加しました。 セットアップの詳細については、 新しいサーバーレスインスタンスの作成に関するドキュメントを参照してください。
ウィンドウ演算子を使用できるようにするために
setWindowFields
パイプライン ステージのビルダ API を追加しましたスナップショット読み取りのサポートを に追加
ClientSession
接続プールごとに新しい接続を確立する速度を制限する
挿入または置き換えるドキュメントのフィールド名に許容される文字に関するほとんどの制限を削除しました。 これは、これらの制限のクライアント側の適用に依存しているアプリケーションの動作の変更です。
次の表は、ドキュメントのフィールド名に使用できる文字の制限ステータスを示しています。
文字 | 操作 | 説明 |
---|---|---|
. | 挿入と置換 | この文字を含むフィールド名に対する制限を解除しました。 |
$ | Insert | この文字で始まるフィールド名の制限を削除しました。 |
$ | 置換 | この文字を含むフィールド名に対するネストされたドキュメントの制限を削除しました。 |
$ | 置換 | この文字で始まるフィールド名について、最上位ドキュメントで制限を維持しました。 これにより、更新操作を使用する際に置換操作を使用するという誤った使用を防止できます。 |
注意
ドル記号のプレフィックスが付いたキーまたはドットのキーを使用した未確認の書込みが、5.0 より前のバージョンでは暗黙で拒否される可能性があります。 フィールド名に関する一部の制限は、サーバー内で引き続き適用されます。
4.2 の新機能
4.2 Java ドライバー リリースの新機能には、次のものが含まれます。
クライアント側のフィールドレベル暗号化に Azure と GCP キー ストアを追加しました
複数の認証リクエストで再利用するために Kerberos キャッシュ チケットを追加しました
追加され た MongoClients インスタンス
MongoClientSettings
または が構成として含まれているインスタンスConnectionString
JsonObject を追加しました クラスを使用して、中間マップ表現を回避して、JSON からのエンコードと JSON へのデコードの効率を高めます
BsonRepresentation を追加しました
ObjectId
String
POJO で BSON 値を として表現できる注釈 クラス
4.1 の新機能
4.1 Java ドライバー リリースの新機能には、次のものが含まれます。
計画されたメンテナンス イベント中に、クライアントが認識するフェイルオーバー時間を大幅に短縮
find()
メソッドは allowDiskUse() をサポートしています RAM で実行するには多くのメモリを必要とするソートの場合MONGODB-Amazon Web Amazon Web Services ( Amazon Web Services )の IAM(Identity and Access Management、ID とアクセス管理)認証情報を使用する Amazon Amazon Web Services認証メカニズムのサポートを追加しました
認証に必要なサーバーへのラウンドトリップが少なくなり、接続設定が高速化されます
4.0 の新機能
このリリースでは新機能は追加されません。