0
我開始學習MongoDB,並試圖找到如何在羣組查詢中顯示addtional字段。如何在MongoDB的羣組聚合查詢中顯示其他字段
說我有以下文件,我想找到每個班級學生的最高分數。
{ "_id" : { "class_id" : 1, "student_id" : 40 }, "avgStudentScore" : 62 }
{ "_id" : { "class_id" : 1, "student_id" : 44 }, "avgStudentScore" : 79 }
{ "_id" : { "class_id" : 2, "student_id" : 0 }, "avgStudentScore" : 53 }
{ "_id" : { "class_id" : 2, "student_id" : 24 }, "avgStudentScore" : 60 }
{ "_id" : { "class_id" : 0, "student_id" : 15 }, "avgStudentScore" : 51 }
{ "_id" : { "class_id" : 0, "student_id" : 25 }, "avgStudentScore" : 66 }
{ "_id" : { "class_id" : 0, "student_id" : 30 }, "avgStudentScore" : 32 }
我可以這樣做,使用下面的組聚合查詢。
{
$group:
{
"_id" :
{
"class_id" : "$_id.class_id",
},
"maxStudentScore" :
{
$max : "$avgStudentScore"
}
}
}
我的結果會是這樣,
{ "_id" : { "class_id" : 1 }, "maxStudentScore" : 79 }
{ "_id" : { "class_id" : 2 }, "maxStudentScore" : 60 }
{ "_id" : { "class_id" : 0 }, "maxStudentScore" : 66 }
但我失去了誰得到了最大比分的student_id數據。我怎樣才能在我的最終結果中顯示student_id?謝謝。
我試圖找出如何利用$率先拿到了答案。現在我有了更好的理解。謝謝。 – SyncMaster