MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Ergebnissatz für Aggregate()

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"}, 
                        } 
                } 
            };