次の新機能をご覧ください。
5.1.3の新機能
5.1.3 ドライバー パッチ リリースには次の変更が含まれています。
Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正します。
5.1.2の新機能
5.1.2 ドライバー パッチ リリースには次の変更が含まれています。
MongoCollectionインスタンスのジェネリック型として基本クラスを指定している場合に、ジェネリック基本クラスを拡張する具象クラスをドライバーでエンコードおよびデコードできない問題を修正します。SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。
5.1.1の新機能
5.1.1 ドライバー パッチ リリースには次の変更が含まれています。
MONGODB-OIDC認証メカニズムを使用する場合、authMechanismProperties接続string値にカンマ文字を含めることはできません。 この動作の詳細については、エンタープライズ認証ガイドの MONGODB-OIDCセクションを参照してください。冗長なバイト配列クローンを排除し、GridFS スループットを最適化します。
GridFSDownloadStream型とGridFSUploadStream型では、DocumentではなくBsonDocument型が使用されます。
5.1 の新機能
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。
このセクションには、次の情報が含まれています。
5.1での非推奨
MongoDB Server v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。
5.1での改善
GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。
MONGODB-OIDC 認証メカニズムのサポートが強化されました。 OIDC の詳細については、エンタープライズ認証メカニズムのガイドの「 MONGODB-OIDC 」セクションを参照してください。
5.1の新機能
serverMonitoringMode接続 URI オプションを導入します。 このオプションの詳細については、接続オプションのガイドを参照してください。
5.0 の新機能
警告
このリリースにおける重大な変更
このドライバー バージョンでは、重大な変更が導入されています。 これらの変更のリストについては、アップグレード ガイドの「バージョン 5.0 の重大な変更 」セクションを参照してください。
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。
このセクションには、次の情報が含まれています。
5.0 での廃止
org.mongodb.scala.Observable.completeWithUnit()メソッドは非推奨です。 ドライバーが公開するのはorg.mongodb.scala.Observable[Unit]ではなくorg.mongodb.scala.Observable[Void]であるため、このメソッドは使用できなくなりました。これは、このリリースの Observables に関する重大な変更に関連します。
5.0 での動作の変更
getElapsedTime()com.mongodb.event.ConnectionReadyEventのConnectionCreatedEventメソッドには、 の配信にかかる時間が含まれます。つまり、返される時間にはcom.mongodb.event.ConnectionPoolListener.connectionCreated()メソッドの期間が含まれます。com.mongodb.event.ConnectionCheckedOutFailedEventとcom.mongodb.event.ConnectionCheckedOutEventのgetElapsedTime()メソッドには、com.mongodb.event.ConnectionCheckOutStartedEventの配信にかかる時間が含まれます。 つまり、返される時間にはcom.mongodb.eventConnectionPoolListener.connectionCheckOutStarted()メソッドの期間が含まれます。
5.0 の新機能
5.0 ドライバー リリースでは、次の機能が導入されています。
listCollectionsコマンドのauthorizedCollectionオプションのサポートを追加します。 これは、com.mongodb.client.MongoDatabase.listCollectionNames()メソッドを変更することで行われていました。 戻り値の型はcom.mongodb.client.ListCollectionNamesIterableになりましたが、以前はMongoIterable<String>でした。 この変更により、ListCollectionNamesIterable.authorizedCollections()メソッドを使用してauthorizedCollectionsオプションを指定して戻り値を構成できるようになります。 次のクラスとインターフェースに対して同等の変更が加えられました。com.mongodb.reactivestreams.client.MongoDatabaseorg.mongodb.scala.MongoDatabasecom.mongodb.kotlin.client.MongoDatabasecom.mongodb.kotlin.client.coroutine.MongoDatabase
これらの変更により、 listCollectionsNames() メソッド にバイナリを重大する変更が導入されます。
MongoDatabase.listCollectionNames()メソッドとauthorizedCollectionsオプションの詳細については、 listCollections Server のマニュアル ページ またはコレクションのリストを取得する を参照してください。
注意
The v 5.0.2 パッチ リリースは、SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。
4.11 の新機能
このセクションには、次の情報が含まれています。
4.11 での非推奨
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のメソッドとタイプに依存するすべてのアプリケーション コードを置き換えます。
4.11 ドライバー リリースでは、次の項目が非推奨になります。
DBCollectionクラスのgetStats()インスタンス メソッドとisCapped()インスタンス メソッドは非推奨です。 対応するサーバーコマンドは、MongoDB v6.2 以降では非推奨です。 これらのメソッドによって提供される情報を取得するには、代わりに$collStats集計パイプライン ステージを使用します。 次のコード例に示すように、集計を実行できます。Cursor cursor = collection.aggregate(Arrays.asList( new BasicDBObject("$collStats", new BasicDBObject("storageStats", new BasicDBObject()))), AggregationOptions.builder().build() ); コレクションが Capped コレクションであるかどうかを判断するには、前述の例の集計で
Cursorインスタンスによって返されたstorageStats.cappedフィールドの値にアクセスします。$collStats集計演算子の詳細については、 $collStats(集計)サーバーのマニュアル エントリを参照してください。次のネットワーク アドレス関連のメソッドは非推奨であり、v5.0 で削除されます。
ServerAddress メソッドは
getSocketAddress()メソッドとgetSocketAddresses()メソッドです。getSocketAddress()の代わりに、java.net.InetAddressのgetByName()インスタンス メソッドを使用します。getSocketAddresses()の代わりに、java.net.InetAddressのgetAllByName()インスタンス メソッドを使用します。UnixServerAddress メソッド
getUnixSocketAddress()getUnixSocketAddress()の代わりにjnr.unixsocket.UnixSocketAddressのインスタンスを構築します。コンストラクターに UNIX ソケットファイルのフル パスを渡します。デフォルトでは 、 MongoDB は"/tmp/mongodb-27017.sock"に配置された UNIX ソケットファイルを作成します。UnixSocketAddressの詳細については、UnixSocketAddress APIドキュメントを参照してください。
StreamFactory インターフェースに関連する次のメソッドとタイプは非推奨となり、 v5.0 で削除される予定です。
streamFactoryFactory()メソッドMongoClientSettings.BuildergetStreamFactoryFactory()メソッドMongoClientSettingsNettyStreamFactoryFactoryクラスNettyStreamFactoryクラスAsynchronousSocketChannelStreamFactoryクラスAsynchronousSocketChannelStreamFactoryFactoryクラスBufferProviderクラスSocketStreamFactoryクラスStreamクラスStreamFactoryクラスStreamFactoryFactoryクラスTlsChannelStreamFactoryFactoryクラス
MongoClientSettings.Builder.streamFactoryFactory()を使用して Netty を構成する場合、コードは次のようになります。import com.mongodb.connection.netty.NettyStreamFactoryFactory; // ... MongoClientSettings settings = MongoClientSettings.builder() .streamFactoryFactory(NettyStreamFactoryFactory.builder().build()) .build(); 次の例に示すように、このコードを TransportSettings.nettyBuilder() に置き換えます。
import com.mongodb.connection.TransportSettings; // ... MongoClientSettings settings = MongoClientSettings.builder() .transportSettings(TransportSettings.nettyBuilder().build()) .build();
4.11 の新機能
4.11 ドライバー リリースの新機能には、次のものが含まれます。
SOCKS5 プロキシを使用した MongoDB への接続のサポート。 詳しくは、「 SOCKS5 プロキシを使用して MongoDB に接続する 」を参照してください。
注意
The v 4.11.3 パッチ リリースは、SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。
16 MB を超える 変更ストリーム イベントのフラグメントを識別するために、
ChangeStreamDocumentクラスにgetSplitEvent()メソッドを追加しました。 16 MB を超えるイベントを処理するには、変更ストリームの集計ステージ$changeStreamSplitLargeEventを使用する必要があります。 詳細については、「大規模な変更ストリーム イベントの分割 」を参照してください。$vectorSearchの集計ステージ ビルダを追加しました。 詳細については、「 Atlas Vector Search 」を参照してください。Atlas Search インデックス マネジメント ヘルパーを追加しました。 詳しくは、「 Atlas Search インデックス 」を参照してください。
Snappyおよびzstd圧縮ライブラリの依存関係バージョンを更新しました。 現在の依存関係バージョンの詳細については、「ネットワーク圧縮 」を参照してください。
接続プール イベントの期間をモニタリングするために、次のクラスに
getElapsedTime()メソッドを追加しました。Java 21 仮想スレッドと構造化同時実行性のサポート。 仮想スレッドの不要な固定を回避し、スレッドの中断された状態を保持するようにドライバー内部がアップデートされました。後者はキャンセルに使用される構造化同時実行性において重要であるためです。
仮想スレッドの詳細については、Virtual Threads JDK の拡張提案」を参照してください。構造化同時実行の詳細については、構造化同時実行 JDK 機能強化の提案 を参照してください。
次のタイプの API ドキュメントを更新しました。
4.10 の新機能
4.10 ドライバー リリースの新機能には、次のものが含まれます。
Accumulators.percentile()Accumulators.median()統計集計用の メソッドと メソッドの実装。com.mongodb.client.model.searchパッケージ内のインターフェースが@Evolvingではなく@Sealedとしてマークされるようになりました。 リンクされたインターフェースは、ライブラリの利用者によって拡張または実装されてはなりません。ドライバーが再試行操作のために重複したログ メッセージを出力する問題を解決しました。 ドライバーは再試行操作ごとに 1 つのログ メッセージを正しく出力するようになりました。
org.bson.codecs.Parameterizableインターフェースは非推奨です。 コーデックが パラメーター化された型を対象としている場合は、このインターフェースをカスタムCodec型に実装する代わりに、コーデックのCodecProviderのCodecProvider.get()メソッドをオーバーライドします。カスタム DNS リゾルバのサポート。
Queryable Encryption (QE)のサポート QE 機能を使用するための要件の詳細については、「 Queryable Encryption ドライバーの互換性テーブル 」を参照してください。