sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Aggregate funktion i C#

Att bygga aggregeringspipeline är lite knepigt.

Försök:

var pipeline = new BsonDocument[] {
    new BsonDocument{ { "$sort", new BsonDocument("_id", 1) }},
    new BsonDocument{{"$unwind", "$scores"}},
    new BsonDocument{{"$group", new BsonDocument{
                {"_id", "$_id"},
                {"lowscore",new BsonDocument{
                        {"$min","$scores.score"}}
                }}
        }}
};

var result = collection.Aggregate<BsonDocument> (pipeline).ToListAsync();

Om du gör pipeline.ToJson() , får du följande JSON-likvärdiga sträng som är samma som din ursprungliga och testade MongoShell-fråga.

[
    {
        "$sort": {
            "_id": 1
        }
    },
    {
        "$unwind": "$scores"
    },
    {
        "$group": {
            "_id": "$_id",
            "lowscore": {
                "$min": "$scores.score"
            }
        }
    }
]


  1. Mongoose lovar dokumentation säger att frågor inte är löften?

  2. Hur man hämtar en mängd json-objekt snarare än mongoose-dokument

  3. MongoDB sammanlagt returräkning på 0 om inga resultat

  4. Hur installeras MongoDb av Meteor?