sql >> Databáze >  >> NoSQL >> MongoDB

Sada výsledků MongoDB pro Aggregate()

Váš výsledek je IEnumerable BsonDocument, můžete je serializovat na objekty C# pomocí BsonSerializer. A tento fragment kódu je pouze zapíše do vaší konzoly, ale můžete vidět, že jste zadali objekty

 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);
 }

A pak mít třídu nazvanou Average, kde název vlastnosti odpovídá jménům v BsonDocument, pokud pak chcete přejmenovat (protože _Id není tak hezké v c#, pokud jde o konvence pojmenování), můžete do svého kanálu přidat $project BsonDocument .

 public class Average
 {
      public string _Id { get; set; }
      public Double AvgWeight {get; set; }
 }

$project sample (přidejte to do svého kanálu těsně před řazením

 var project = new BsonDocument 
            { 
                { 
                    "$project", 
                    new BsonDocument 
                        { 
                            {"_id", 0}, 
                            {"Species","$_id"},
                            {"AvgWeight", "$AvgWeight"}, 
                        } 
                } 
            };



  1. Jak mohu přejmenovat sbírku v MongoDB?

  2. Chyba tvrzení:1 ==0 pro příkaz MongoDB deleteOne

  3. Použití UUID místo ObjectID v MongoDB

  4. WAMP MongoDB - rozšíření PHP