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

MongoDB-Aggregatfunktion in C#

Das Erstellen einer Aggregationspipeline ist etwas schwierig.

Versuchen Sie:

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

Wenn Sie pipeline.ToJson() ausführen , erhalten Sie die folgende äquivalente JSON-Zeichenfolge, die mit Ihrer ursprünglichen und getesteten MongoShell-Abfrage identisch ist.

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