次の新機能をご覧ください。
今後の重大な変更
MongoDBソフトウェア ライフサイクル スケジュール に従って、 .NET/ C#ドライバーの次のマイナー バージョンでは、 MongoDB Server の最小バージョンが 4.0 から 4.2 に引き上げられます。.NET/ C#ドライバーはMongoDB Server 4.0 のサポートを終了します。
3.4の新機能
3.4ドライバー リリースには、次の新機能、改善点、修正が含まれています。
集計の実行時にタイプを変換するための
Mql.Convert()
LINQ メソッドを追加します。詳しくは、LINQガイドの $convert セクションを参照してください。KeyValuePair.Create()
LINQ メソッドのサポートを追加します。GeoNear()
$geoNear
集計ステージを構築するために 集計ビルダ メソッドを追加します。例を表示するには、 MongoDB Serverマニュアルの $geoNear参照を参照してください。LINQ クエリでそのインターフェースを実装する型への、インターフェースからのキャストをサポートします。
LINQ で
Dictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection)
コンストラクタをサポートします。Atlas Search クエリに次のオプションを追加します。
MatchCriteria
SearchTextOptions
では、Text()
演算子メソッドに渡されるタームの一致条件を設定します。Synonyms
Phrase()
演算子メソッドを使用するときに、シノニム(同意語)マッピング定義の名前を設定するために、SearchPhraseOptions
で を使用します。
Atlas Search クエリの実行の詳細については、Atlas Searchガイドを参照してください。
IQueryable<Derived>
オブジェクトをIQueryable<Base>
にキャストした後、LINQ クエリをサポートします。Atlas Search 演算子の動作を修正し、事前定義されたシリアライザーではなく、構成済みのシリアライザーを使用します。以前の動作を使用するには、次のオプションを設定します。
SearchDefinition.UseConfiguredSerializers(false);
このリリースの詳細については、Github で v 3.4リリースノート を参照してください。
3.3の新機能
3.3ドライバー リリースには、次の新機能が含まれています。
ChangeStreamDocument
クラスのcreate
イベント用に作成されたオブジェクトのタイプを示す新しいNamespaceType
フィールドを追加します。変更ストリームの詳細については、 「データ変更の監視」 ガイドを参照してください。次の使用中の暗号化機能を追加します。
$lookup集計ステージのサポート
データ暗号化のキーキャッシュの有効期間を構成する
ClientEncryptionOptions
プロパティ
使用中の暗号化の詳細については、使用中の暗号化ガイドを参照してください。
次の LINQ 機能を追加します。
SkipWhile()
とTakeWhile()
LINQ集計メソッドをサポートします。詳細については、 LINQガイドの「条件付きでのスキップ」および「条件付きの制限」セクションを参照してください。LINQ クエリでの
$sigmoid
式のサポート。基礎となるデータ型に関係なく、string としてシリアル化された辞書キーにアクセスするための LINQ構文を使用するためのサポート。
$rankFusion
集計ステージのサポートを追加します。これにより、複数のパイプラインからの組み合わせた結果にランクベースの結果スコアリングが可能になります。フィルター パラメータのみを受け取る メソッドのオーバーロードを提供することで、 値に対して直接 $elemMatch
ElemMatch()
クエリのサポートを追加します。詳しくは、「 1 つのドキュメントの配列を更新 」および「 多くのドキュメントの配列を更新 」を参照してください。OfType<T>()
メソッドとis
演算子を使用してスカラー弁別子の型を確認するためのサポートを追加します。
このリリースの詳細については、Github でv3.3 リリースノートを参照してください。
3.2の新機能
3.2ドライバー リリースには、次の新機能が含まれています。
オブジェクトシリアライザーによって直列化および逆直列化できるタイプを指定できる新しい
ObjectSerializerAllowedTypesConvention
規則を追加します。規則の詳細については、「 規則ガイド 」を参照してください。EnumRepresentationConvention
クラスに新しいコンストラクターを追加します。これにより、topLevelOnly
パラメーターを使用して、規則が列挙プロパティのみに適用されるか、列挙のコレクションを含むすべてのプロパティに適用されるか指定できます。次の例に示すように、新しいコンストラクタを使用して
EnumRepresentationConvention
クラスをインスタンス化できます。EnumRepresentationConvention(BsonType representation, bool topLevelOnly); すべてのフィールドを取得してからフィルタリングするのではなく、サーバーから必須フィールドのみが取得されるようにクライアント側のプロジェクションを最適化します。
Atlas ベクトル検索でバイナリベクトル表現をサポートするために次のクラスを追加します。
BinaryVectorFloat32
BinaryVectorInt8
BinaryVectorPackedBit
.NET/ C#ドライバーで Atlas ベクトル検索 の詳細については、 「Atlas ベクトル検索クエリの実行」ガイドを参照してください。
DocumentFormat
プロパティをDateOnlySerializer
に追加します。このプロパティを使用すると、ドライバーがDateOnly
値を直列化する方法をカスタマイズできます。このリリースでは、プロパティレベルでDateOnly
値の直列化動作をカスタマイズする[BsonDateOnlyOptions()]
属性も追加されています。詳細については、 POCOガイドの 「カスタム DateOnly 直列化」 セクションを参照してください。
このリリースの詳細については、Github でv3.2 リリースノートを参照してください。
3.1の新機能
3.1ドライバー リリースには、次の新機能が含まれています。
System.Collections.不変名前空間内の不変コレクション用の新しいデフォルトのシリアライザーを追加します。ドライバーは
ImmutableArray
オブジェクトを直列化できるようになり、他の不変コレクションの直列化のメモリ効率が向上しました。プログラムによる Atlas ベクトル検索インデックスの作成をサポートするために
SearchIndexType
タイプを追加します。 詳細については、 Atlas Search とベクトル検索インデックスのガイド を参照してください。equals
演算子の Atlas Search ビルダでトークンフィールドタイプと配列フィールド式のサポートを追加します。 .NET/ C#ドライバーで Atlas Search を使用する方法の詳細については、「 Atlas Search 」を参照してください。次の Atlas Search クエリのサポートを追加します。
null
とGuid
の値でのEquals()
演算子メソッドの使用Guid
値でのIn()
演算子メソッドの使用
これらのメソッドの詳細については、 Atlas Searchガイドの「 Atlas Search 演算子とコレクター 」セクションを参照してください。
Atlas Search で連続ページ分割のサポートを追加しました。
3 未満の有効な SRV ホスト名のサポートを追加します。
MongoDB Query APIフィルターで
Exists
、IsMissing
、IsNullOrMissing
メソッドのサポートを追加します。完全一致(enn)ベクトル検索のサポートを追加します。 EXN ベクトル検索の詳細については、Atlas Search ドキュメントの「 ベクトル検索クエリの実行 」を参照してください。
更新操作と置換操作のソート オプションを追加します。この変更により、単一のドキュメント を更新または置換しようとする際に、複数のドキュメントがフィルターに一致する場合に並べ替え順序を設定できます。詳しくは、「 Update One 」および「 UpdateMany 」のガイドを参照してください。
このリリースの詳細については、 v3.1 リリースノートを参照してください。
3.0の新機能
3.0ドライバー リリースには、次の新機能が含まれています。
MongoClientSettings.TranslationOptions
LINQ クエリを クエリAPIに変換するためのオプションを指定する 接続オプションを追加します。詳細については、「 接続オプションの指定 」を参照してください。半精度の浮動小数点数を表す
Half
型のサポートを追加します。このタイプは.NET 5 以降で使用可能です。Half
型の詳細については、MSDN の Hat struct API参照ページを参照してください。IMongoClient
インターフェースはIDisposable
インターフェースを継承します。その結果、MongoClient
クラスやIMongoClient
インターフェースを実装する他のクラスには、 コマンド.ose()`` メソッドを更新するために渡されるDisp- Adds support for the ``sort
オプションが含まれており、クライアントの を破棄します。このメソッドは、基礎のクラスターとMongoDBサーバーへの接続を破棄しません。クラスターと接続を破棄するには、ClusterRegistry.UnregisterAndDisposeCluster()
メソッドを呼び出します。IDisposable
インターフェースの実装は実験的なものです。IDisposable
インターフェースとDispose()
メソッドの使用の詳細については、「 MSDN のパターンを無効にする」を参照してください。時間要素のない日付値を表す
DateOnly
型のサポートを追加します。このタイプは.NET 6 以降で使用可能です。DateOnly
型の詳細については、「 DateOnly 構造体 」を参照してください。MSDN のAPI参照ページ。日付コンポーネントのない時間値を表す
TimeOnly
型のサポートを追加します。このタイプは.NET 6 以降で使用可能です。TimeOnly
型の詳細については、「 TimeOnly 構造 」を参照してください。MSDN のAPI参照ページ。LINQ 3 プロバイダーとともに、
Find()
メソッド、Select()
メソッド、またはProject()
集計ステージを使用する場合、暗黙的クライアント側プロジェクションのサポートを追加します。以前のバージョンのドライバーでは、ToEnumerable()
メソッドまたはAsEnumerable()
メソッドを呼び出した後にのみ、LINQ 3 プロバイダーを使用してクライアント側のプロジェクションを実行できました。ドライバー メソッドでクライアント側プロジェクションを有効にして使用する方法については、対応するタブを選択します。
// Enable client-side projection var findOptions = new FindOptions(); findOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var find = collection .Find(doc => doc.Id == 1, findOptions); .Project(doc => new { R = MyFunction(doc.Name) }); // Enable client-side projection var aggregateOptions = new AggregateOptions(); aggregateOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var queryable = collection .AsQueryable(aggregateOptions) .Where(doc => doc.Id == 1) .Select(doc => new { R = MyFunction(doc.Name) }); // Enable client-side projection var aggregateOptions = new AggregateOptions(); aggregateOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var aggregate = collection .Aggregate(aggregateOptions) .Project(doc => new { R = MyFunction(doc.Name) }); Tip
MongoClientSettings
クライアント 上のすべてのクエリでクライアントクライアント側プロジェクションを有効にするには、次の例に示すように、
MongoClientSettings
オブジェクトのTranslationOptions
プロパティを設定します。clientSettings.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; .NET/ C#ドライバーで集計パイプラインを使用する方法の詳細については、「 集計操作 」を参照してください。
一括書き込み操作用の
MongoClient
APIを追加します。一括書込み (write) 操作の詳細については、「 一括書込み (write) 操作 」を参照してください。
このリリースの詳細については、 v3.0 リリースノートを参照してください。
2.30の新機能
2.30 ドライバーは新機能やバグ修正を導入しません。その目的は、v 3.0 で削除されたパブリック API を廃止予定としてマークすることで、 .NET/ C#ドライバーの v 3 .x への移行を容易にすることです。
2.29の新機能
2.29ドライバー リリースは MongoDB Server バージョン8.0のサポートを追加し、次の新機能を含みます。
Queryable Encryption 範囲プロトコルの v 2のサポートを追加します。
Queryable Encryption の範囲インデックスのサポートを追加します。 Queryable EncryptionQueryable Encryptionの詳細については、MongoDB Server マニュアルの「 」を参照してください。
このリリースの詳細については、 v2.29 リリースノートを参照してください。
2.28の新機能
警告
v 2.28の潜在的な重大な変更
すべての.NET/ C#ドライバー コンポーネントには厳密な名前が付けられます。 アプリケーションに複数の.NET/ C#ドライバーのバージョンを参照する依存関係がある場合は、それらの依存関係を管理するためのバインディング リダイレクトを作成する必要があります。 詳細については、「 バージョン2.28.0 重大な変更 」を参照してください。
2.28ドライバー リリースには、次の新機能が含まれています。
Nullable<T>
に関連する追加の数値変換のサポートを追加します。CSFLE または Queryable Encryptionに KMIP を使用する場合に、
delegated
オプションのサポートを追加します。
このリリースの詳細については、 v2.28 リリースノートを参照してください。
2.27の新機能
2.27ドライバー リリースには、次の新機能が含まれています。
$sample
集計演算子のサポートを追加しました。LINQ 3のシリアライザーの
Equals()
メソッドを実装します。エラーを回避するために、読み取りおよび書込み保証が Atlas Search インデックスヘルパーコマンドに適用されないようにします。
MONGODB-OIDC
認証メカニズムを使用する場合、authMechanismProperties
接続string値でカンマ文字の使用を禁止します。異なるサイズの数値に関係する直列化中にエラーを発生させる変換バグを修正します。
libdl.so.2
ライブラリを使用する Linux ディストリビューションのサポートを追加します。
このリリースの詳細については、 v2.27 リリースノートを参照してください。
2.26の新機能
2.26ドライバー リリースには、次の新機能が含まれています。
Select()
とProject()
集計ステージ内でSelectMany()
集計メソッドを使用するためのサポートを追加しました。LINQ クエリで
Dictionary.ContainsValue()
呼び出しのサポートを追加しました。混合型の string 連結のサポートを追加しました。
libmongocrypt
バインディングでネイティブcrypto
の使用を有効にしました。Memory
構造体とReadOnlyMemory
構造体の直列化のサポートを追加しました。これらのタイプの実装の詳細については、直列化ガイドの「配列直列化パフォーマンスの向上」セクションを参照してください。MONGODB-OIDC
認証メカニズムを使用する場合の GCP IdP のサポートを追加しました。 詳細については、エンタープライズ認証メカニズム ガイドの「 GCP IMDS 」を参照してください。NuGet パッケージの署名を実装しました。
可能な場合、他の
mongos
インスタンスへの読み取りおよび書き込みの再試行を実装しました。
2.25の新機能
2.25ドライバー リリースには、次の新機能が含まれています。
Azure Identity Provider の
MONGODB-OIDC
認証メカニズムと自動トークン取得のサポートを追加しました。BsonClassMapSerializer
が一致する作成者を見つけられない場合に報告されるエラー メッセージにクラス名を追加しました。LINQ クエリの実行後に実行される MQL を表示するために
LoggedStages
フィールドを追加しました。接続オプションを使用して、
"mongodb"
サービス名をカスタムsrvServiceName
サービス名で上書きするためのサポートを追加しました。詳細については、「 接続オプションの指定」ガイドを参照してください。一括書き込み操作の動作が改善され、リクエスト パラメータが複数回列挙されなくなります。