这是我的收藏,我想找到在生物学课程中获得最高成绩的学生。
我尝试:
db.course.find(
{"Course_Name": 'Biology', "First_Name": 1, "Last_Name" :1}
).sort( {"Grade": -1 } ).limit(1)
但是什么都没出现……谁能告诉我原因以及如何解决? 谢谢!
-----收藏集--------
{
Course_ID:13,
Course_Name: 'Biology',
Students:[
{student_id:001,
First_Name:'Dave',
Last_Name: 'Davis',
Grade: 78},
{student_id: 003,
First_Name:'Thomas',
Last_Name: 'Thompson',
Grade: 80}
]
}
答案 0 :(得分:0)
解决方案在这里:
db.getCollection('course').aggregate([{
$match: {
"Course_Name": 'Biology'
}
},
{
$unwind: "$Students"
},
{
$sort: {
"Students.Grade": -1
}
},
{
$project: {
"Students.First_Name": 1,
"Students.Last_Name": 1
}
},
{
$limit: 1
}
])