sql >> Databáze >  >> NoSQL >> MongoDB

allowDiskUse v agregačním rámci s MongoDB C# Driver

Použijte další přetížení Aggregate, které přebírá parametr AggregateArgs a poskytuje vám větší kontrolu nad operací, včetně nastavení AllowDiskUse:

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();

Všimněte si, že návratový typ tohoto přetížení Aggregate je IEnumerable, takže již nemusíte používat vlastnost ResultDocuments.

Aby bylo jasno, Select se provádí na straně klienta. Možná to dokážete zařídit tak, aby dokumenty vycházející z vašeho agregačního kanálu mohly být přímo deserializovány do instancí jedné z vašich tříd.



  1. Nodejs Mongoose renderuje dva modely z kolekcí

  2. Spuštění dotazu Mongodb trvá příliš dlouho

  3. Jak zabráním zobrazení pole _t při upsertování do MongoDB?

  4. ImportError:Žádný modul s názvem objectid