编写一个查询,在MongoDB指南针中显示最高分数以及考试类型和名称


{
"_id": {
"$oid": "56d5f7eb604eb380b0d8d8ce",
},
"student_id": 0,
"scores": [
{
"type": "exam",
"score": 78.40446309504266,
},
{
"type": "quiz",
"score": 73.36224783231339,
},
{
"type": "homework",
"score": 46.980982486720535,
},
{
"type": "homework",
"score": 76.67556138656222,
},
],
"class_id": 339,
}

以上是示例文档。我想找到最大分数及其考试类型名称,我很难在MongoDB指南针中找到。下面是MongoDB指南针的图片,我在那里聚合以获得最大分数。

MongoDB Compass 截图

只需添加一个排序和限制阶段。

db.collection.aggregate([
{"$match": { "score": { "$exists": true } } },
{"$sort": { "score": -1 } },
{"$limit": 1 },
])

最新更新