sql >> Databasteknik >  >> NoSQL >> MongoDB

allowDiskUse i Aggregation Framework med MongoDB C#-drivrutin

Använd den andra överbelastningen av Aggregate som tar en AggregateArgs-parameter och ger dig mer kontroll över operationen, inklusive inställning av 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();

Observera att returtypen för denna överbelastning av Aggregate är IEnumerable så du behöver inte längre använda egenskapen ResultDocuments.

Bara för att vara tydlig, Select exekveras på klientsidan. Du kanske kan ordna det så att dokumenten som kommer ut från din aggregeringspipeline direkt kan deserialiseras till instanser av en av dina klasser.



  1. MongoDB-uppdatering:Generera nytt fält baserat på befintligt fält, eller uppdatera på plats

  2. Varför returnerar mongoosemodellens hasOwnProperty falskt när egenskapen existerar?

  3. Kan inte ansluta Mongodb till Springboot Container i docker

  4. Java-klient för att ansluta ElasticCache Redis Cache Node