Docs Menu

新機能

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

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

  • オブジェクトシリアライザーによって直列化および逆直列化できるタイプを指定できる新しい ObjectSerializerAllowedTypesConvention 規則を追加します。規則の詳細については、「 規則ガイド 」を参照してください。

  • EnumRepresentationConventionクラスに新しいコンストラクターを追加します。これにより、topLevelOnly パラメーターを使用して、規則が列挙プロパティのみに適用されるか、列挙のコレクションを含むすべてのプロパティに適用されるか指定できます。

    次の例に示すように、新しいコンストラクタを使用して EnumRepresentationConventionクラスをインスタンス化できます。

    EnumRepresentationConvention(BsonType representation, bool topLevelOnly);
  • すべてのフィールドを取得してからフィルタリングするのではなく、サーバーから必須フィールドのみが取得されるようにクライアント側のプロジェクションを最適化します。

  • Atlas ベクトル検索でバイナリベクトル表現をサポートするために次のクラスを追加します。

    • BinaryVectorFloat32

    • BinaryVectorInt8

    • BinaryVectorPackedBit

    .NET/ C#ドライバーで使用する Atlas ベクトル検索 の詳細については、Atlas ベクトル検索ガイド を参照してください。

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

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

警告

v 3.0 での重大な変更

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

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

  • LINQ クエリを クエリAPIに変換するためのオプションを指定する MongoClientSettings.TranslationOptions 接続オプションを追加します。詳細については、 接続オプション を参照してください。

  • 半精度の浮動小数点数を表す Half 型のサポートを追加します。このタイプは.NET 5 以降で使用可能です。Half型の詳細については、MSDN の Hat struct API参照ページを参照してください。

  • IMongoClient インターフェースは IDisposable インターフェースを継承します。その結果、MongoClientクラスと IMongoClient インターフェースを実装するその他のクラスには、クライアントを破棄する Dispose() メソッドが含まれます。このメソッドは、基礎のクラスターと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フィールドを追加しました。

  • srvServiceName接続オプションを使用して、 "mongodb"サービス名をカスタム サービス名で上書きするためのサポートを追加しました。

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

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

  • IMongoCollection.DistingmandMany() を追加しました 使用して複数のドキュメントを挿入できます。

  • $dateFromString集計式の最新の任意引数のサポートを追加しました。

  • $search集計ステージでスコアによる並べ替えのサポートを追加しました。

  • $vectorSearch集計ステージのVectorSearchScoreビルダを追加しました。

  • Atlas Search で$in演算子のサポートを追加しました。

  • LINQ クエリにMql.Exists()Mql.IsMissing()Mql.IsNullOrMissing()メソッドを追加しました。

  • LINQ クエリでIComparable.CompareTo()メソッドのサポートを追加しました。

  • MongoDB Entity Framework コアプロバイダーによる LINQ クエリをサポートするために、 AsQueryable()メソッドへのネストされた呼び出しのサポートを追加しました。

  • TLS 1.3のサポートを追加しました。

  • libmongocryptパッケージのバージョンを1.8.2に更新しました。

  • 新しい Linux ディストリビューションで Kerberos のセグメント違反を修正しました( libgssapi )。

  • 同じ ID を持つ大きなファイルもアップロードされている場合に、ファイルのダウンロードでエラーが発生する GridFS のバグを修正しました。

  • ExceededTimeLimitサーバーエラーは読み取り操作と書込み操作の両方で再試行可能になりました。

  • Amazon Web Services Lambdaなどの関数としてのサービス(FaaS)環境内で実行する場合、ドライバーはポーリング モニタリング メカニズムを使用するようになりました。

  • MongoDB Atlas Serverless の互換性を向上させるため、サーバーが認証に OP_MSG をサポートしている場合、ドライバーは認証に OP_MSG を使用するようになりました。

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

  • LINQ 3統合の改善とバグ修正。

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

  • MongoDB 時系列コレクションで$out演算子のサポートを追加しました。

  • ChangeStreamSplitLargeEvent を 追加16 MB を超える 変更ストリーム イベントを処理するため。

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

  • LINQ 3統合の改善とバグ修正。

  • $setおよび$vectorSearch集計ステージのサポートを追加しました。

  • Atlas Search のシノニム(同意語)サポートを追加しました。

  • 暗号化を使用する際のメモリ割り当てを削減しました。

  • サーバー検出とモニタリング(SDAM)イベントのログ メッセージを追加しました。 これらのイベントの詳細については、「 MongoDB SDAM ログ記録とモニタリング 」仕様を参照してください。