1

Ich versuche, eine sehr einfache Gruppierungsabfrage zu schreiben, die die fließende Aggregationssyntax MongoDB im C# -Treiber verwendet.MongoDB-Ausnahme mit C# Fluent Aggregation Framework

Ich gruppiere Dokumente nach Autor und gebe die Anzahl pro Autor zurück. Ich brauche nicht die Namen der Autoren, nur die Anzahl. Der folgende Code kompiliert, aber wenn ich es ausführen, bekomme ich diese Ausnahme:

Befehl Aggregat fehlgeschlagen: die Gruppe Aggregat Feldnamen ‚$ sum‘ kann kein Name des Bedieners sein.

var query = Collection<TestFile>() 
    .Aggregate() 
    .Group(
     t => t.AuthorName, 
     grp => grp.Count() 
    ) 
    .ToEnumerable(); 

MongoDB Version: 3.2.4

MongoDB C# Treiberversion: 2.2.3.3

Antwort

1

Probieren Sie es wie so (noch nicht obwohl getestet)

var query = Collection<TestFile>() 
    .Aggregate() 
    .Group(
     t => t.AuthorName, 
     grp => new { Count = grp.Count() } 
    ) 
    .ToEnumerable(); 
Verwandte Themen