sql >> データベース >  >> NoSQL >> MongoDB

MongoDB C#ドライバーを使用したアグリゲーションフレームワークでのallowDiskUse

    AggregateArgsパラメーターを受け取り、AllowDiskUseの設定など、操作をより詳細に制御できるAggregateの他のオーバーロードを使用します。

    var pipeline = new BsonDocument[0]; // replace with a real pipeline
    var aggregateArgs = new AggregateArgs { AllowDiskUse = true, Pipeline = pipeline };
    var aggregateResult = collection.Aggregate(aggregateArgs);
    var users = aggregateResult.Select(x =>
        new User
        {
            Influence = x["Influence"].ToDouble(),
            User = new SMBUser(x["user"].AsBsonDocument)
        }).ToList();
    

    Aggregateのこのオーバーロードの戻りタイプはIEnumerableであるため、ResultDocumentsプロパティを使用する必要がなくなったことに注意してください。

    明確にするために、Selectはクライアント側で実行されています。アグリゲーションパイプラインから出てくるドキュメントをクラスの1つのインスタンスに直接逆シリアル化できるように調整できる場合があります。



    1. 配列の長さで並べ替え

    2. SQLで文字列内の文字列を検索する

    3. ネストされた配列を更新する方法

    4. mongodbで削除されたスペースを自動圧縮しますか?