Docs Menu
Docs Home
/ / /
C#/.NET ドライバー
/

リリースノート

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

  • バージョン 3.4

  • バージョン3.3

  • バージョン 3.2

  • バージョン3.1

  • バージョン 3.0

  • バージョン2.30

  • バージョン2.29

  • バージョン2.28

  • バージョン2.27

  • バージョン2.26

  • バージョン2.25

MongoDBソフトウェア ライフサイクル スケジュール に従って、 .NET/ C#ドライバーの次のマイナー バージョンでは、 MongoDB Server の最小バージョンが 4.0 から 4.2 に引き上げられます。.NET/ C#ドライバーはMongoDB Server 4.0 のサポートを終了します。

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ドライバー リリースには、次の新機能が含まれています。

  • ChangeStreamDocumentクラスの create イベント用に作成されたオブジェクトのタイプを示す新しい NamespaceTypeフィールドを追加します。変更ストリームの詳細については、 「データ変更の監視」 ガイドを参照してください。

  • 次の使用中の暗号化機能を追加します。

    • $lookup集計ステージのサポート

    • データ暗号化のキーキャッシュの有効期間を構成する ClientEncryptionOptionsプロパティ

    使用中の暗号化の詳細については、使用中の暗号化ガイドを参照してください。

  • 次の LINQ 機能を追加します。

    • SkipWhile()TakeWhile() LINQ集計メソッドをサポートします。詳細については、 LINQガイドの「条件付きでのスキップ」および「条件付きの制限」セクションを参照してください。

    • LINQ クエリでの $sigmoid式のサポート。

    • 基礎となるデータ型に関係なく、string としてシリアル化された辞書キーにアクセスするための LINQ構文を使用するためのサポート。

  • $rankFusion集計ステージのサポートを追加します。これにより、複数のパイプラインからの組み合わせた結果にランクベースの結果スコアリングが可能になります。

  • フィルター パラメータのみを受け取る メソッドのオーバーロードを提供することで、 値に対して直接 $elemMatchElemMatch() クエリのサポートを追加します。詳しくは、「 1 つのドキュメントの配列を更新 」および「 多くのドキュメントの配列を更新 」を参照してください。

  • OfType<T>() メソッドと is 演算子を使用してスカラー弁別子の型を確認するためのサポートを追加します。

このリリースの詳細については、Github でv3.3 リリースノートを参照してください。

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ドライバー リリースには、次の新機能が含まれています。

  • System.Collections.不変名前空間内の不変コレクション用の新しいデフォルトのシリアライザーを追加します。ドライバーは ImmutableArray オブジェクトを直列化できるようになり、他の不変コレクションの直列化のメモリ効率が向上しました。

  • プログラムによる Atlas ベクトル検索インデックスの作成をサポートするために SearchIndexType タイプを追加します。 詳細については、 Atlas Search とベクトル検索インデックスのガイド を参照してください。

  • equals 演算子の Atlas Search ビルダでトークンフィールドタイプと配列フィールド式のサポートを追加します。 .NET/ C#ドライバーで Atlas Search を使用する方法の詳細については、「 Atlas Search 」を参照してください。

  • 次の Atlas Search クエリのサポートを追加します。

    • nullGuid の値での Equals() 演算子メソッドの使用

    • Guid 値での In() 演算子メソッドの使用

    これらのメソッドの詳細については、 Atlas Searchガイドの「 Atlas Search 演算子とコレクター 」セクションを参照してください。

  • Atlas Search で連続ページ分割のサポートを追加しました。

  • 3 未満の有効な SRV ホスト名のサポートを追加します。

  • MongoDB Query APIフィルターで ExistsIsMissingIsNullOrMissing メソッドのサポートを追加します。

  • 完全一致(enn)ベクトル検索のサポートを追加します。 EXN ベクトル検索の詳細については、Atlas Search ドキュメントの「 ベクトル検索クエリの実行 」を参照してください。

  • 更新操作と置換操作のソート オプションを追加します。この変更により、単一のドキュメント を更新または置換しようとする際に、複数のドキュメントがフィルターに一致する場合に並べ替え順序を設定できます。詳しくは、「 Update One 」および「 UpdateMany 」のガイドを参照してください。

このリリースの詳細については、 v3.1 リリースノートを参照してください。

警告

v 3.0 での重大な変更

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

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

  • MongoClientSettings.TranslationOptionsLINQ クエリを クエリ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 ドライバーは新機能やバグ修正を導入しません。その目的は、v 3.0 で削除されたパブリック API を廃止予定としてマークすることで、 .NET/ C#ドライバーの v 3 .x への移行を容易にすることです。

2.29ドライバー リリースは MongoDB Server バージョン8.0のサポートを追加し、次の新機能を含みます。

  • Queryable Encryption 範囲プロトコルの v 2のサポートを追加します。

  • Queryable Encryption の範囲インデックスのサポートを追加します。 Queryable EncryptionQueryable Encryptionの詳細については、MongoDB Server マニュアルの「 」を参照してください。

このリリースの詳細については、 v2.29 リリースノートを参照してください。

警告

v 2.28の潜在的な重大な変更

  • すべての.NET/ C#ドライバー コンポーネントには厳密な名前が付けられます。 アプリケーションに複数の.NET/ C#ドライバーのバージョンを参照する依存関係がある場合は、それらの依存関係を管理するためのバインディング リダイレクトを作成する必要があります。 詳細については、「 バージョン2.28.0 重大な変更 」を参照してください。

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

  • Nullable<T>に関連する追加の数値変換のサポートを追加します。

  • CSFLE または Queryable Encryptionに KMIP を使用する場合に、 delegatedオプションのサポートを追加します。

このリリースの詳細については、 v2.28 リリースノートを参照してください。

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

  • $sample集計演算子のサポートを追加しました。

  • LINQ 3のシリアライザーのEquals()メソッドを実装します。

  • エラーを回避するために、読み取りおよび書込み保証が Atlas Search インデックスヘルパーコマンドに適用されないようにします。

  • MONGODB-OIDC 認証メカニズムを使用する場合、authMechanismProperties 接続string値でカンマ文字の使用を禁止します。

  • 異なるサイズの数値に関係する直列化中にエラーを発生させる変換バグを修正します。

  • libdl.so.2ライブラリを使用する Linux ディストリビューションのサポートを追加します。

このリリースの詳細については、 v2.27 リリースノートを参照してください。

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

  • Select()Project()集計ステージ内でSelectMany()集計メソッドを使用するためのサポートを追加しました。

  • LINQ クエリでDictionary.ContainsValue()呼び出しのサポートを追加しました。

  • 混合型の string 連結のサポートを追加しました。

  • libmongocryptバインディングでネイティブcryptoの使用を有効にしました。

  • Memory 構造体と ReadOnlyMemory 構造体の直列化のサポートを追加しました。これらのタイプの実装の詳細については、直列化ガイドの「配列直列化パフォーマンスの向上」セクションを参照してください。

  • MONGODB-OIDC認証メカニズムを使用する場合の GCP IdP のサポートを追加しました。 詳細については、エンタープライズ認証メカニズム ガイドの「 GCP IMDS 」を参照してください。

  • NuGet パッケージの署名を実装しました。

  • 可能な場合、他のmongosインスタンスへの読み取りおよび書き込みの再試行を実装しました。

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

  • Azure Identity Provider のMONGODB-OIDC認証メカニズムと自動トークン取得のサポートを追加しました。

  • BsonClassMapSerializerが一致する作成者を見つけられない場合に報告されるエラー メッセージにクラス名を追加しました。

  • LINQ クエリの実行後に実行される MQL を表示するためにLoggedStagesフィールドを追加しました。

  • 接続オプションを使用して、 "mongodb"サービス名をカスタムsrvServiceName サービス名で上書きするためのサポートを追加しました。詳細については、「 接続オプションの指定」ガイドを参照してください。

  • 一括書き込み操作の動作が改善され、リクエスト パラメータが複数回列挙されなくなります。

戻る

クイック リファレンス

項目一覧