Вашият резултат е IEnumerable от BsonDocument, можете да ги сериализирате в C# обекти с помощта на BSonSerializer. И този кодов фрагмент просто ги записва във вашата конзола, но можете да видите, че сте въвели обекти
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);
}
И след това имайте клас, наречен Average, където името на свойството съвпада с имената в BSonDocument, ако искате да преименувате след това (тъй като _Id не е толкова хубаво в термините на c# по отношение на конвенциите за именуване), можете да добавите $project BsonDocument към вашия конвейер .
public class Average
{
public string _Id { get; set; }
public Double AvgWeight {get; set; }
}
примерен $project (добавете това във вашия конвейер точно преди сортиране
var project = new BsonDocument
{
{
"$project",
new BsonDocument
{
{"_id", 0},
{"Species","$_id"},
{"AvgWeight", "$AvgWeight"},
}
}
};