Ditt resultat är IEnumerable av BsonDocument, du kan serialisera dem till C#-objekt med hjälp av BSonSerializer. Och det här kodavsnittet skriver dem bara till din konsol, men du kan se att du har skrivit objekt
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);
}
Och ha sedan en klass som heter Average, där egenskapsnamnet matchar namnen i BSonDocumentet, om du vill byta namn då (eftersom _Id inte är så bra i c#-termer angående namnkonventioner), kan du lägga till ett $project BsonDocument till din pipeline .
public class Average
{
public string _Id { get; set; }
public Double AvgWeight {get; set; }
}
$project sample (lägg till detta i din pipeline precis innan sortering
var project = new BsonDocument
{
{
"$project",
new BsonDocument
{
{"_id", 0},
{"Species","$_id"},
{"AvgWeight", "$AvgWeight"},
}
}
};