Xây dựng đường ống tổng hợp hơi phức tạp.
Hãy thử:
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();
Nếu bạn làm pipeline.ToJson()
, bạn sẽ nhận được chuỗi tương đương JSON sau đây giống với chuỗi truy vấn MongoShell ban đầu và đã thử nghiệm của bạn.
[
{
"$sort": {
"_id": 1
}
},
{
"$unwind": "$scores"
},
{
"$group": {
"_id": "$_id",
"lowscore": {
"$min": "$scores.score"
}
}
}
]