Ihr Ergebnis ist IEnumerable von BsonDocument, Sie können sie mit dem BsonSerializer in C#-Objekte serialisieren. Und dieses Code-Snippet schreibt sie einfach in Ihre Konsole, aber Sie können sehen, dass Sie Objekte eingegeben haben
List<Average> returnValue = new List<Average>();
returnValue.AddRange(documents.Select(x=> BsonSerializer.Deserialize<Average>(x)));
foreach (var obj in returnValue)
{
Console.WriteLine("Species {0}, avg weight: {1}",returnValue._Id,returnValue.AvgWeight);
}
Und dann haben Sie eine Klasse namens Average, bei der der Eigenschaftsname mit den Namen im BsonDocument übereinstimmt, wenn Sie dann umbenennen möchten (weil _Id in Bezug auf Namenskonventionen in c# nicht so schön ist), können Sie Ihrer Pipeline ein $project BsonDocument hinzufügen .
public class Average
{
public string _Id { get; set; }
public Double AvgWeight {get; set; }
}
$project sample (fügen Sie dies direkt vor sort in Ihre Pipeline ein
var project = new BsonDocument
{
{
"$project",
new BsonDocument
{
{"_id", 0},
{"Species","$_id"},
{"AvgWeight", "$AvgWeight"},
}
}
};