我有一个学生集合,其文档具有以下结构:
<GridSplitter Grid.Column="1" Background="Green"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
/>
我想选择得分高于所有学生平均成绩的学生。
我试过跟随,但它只返回一个学生。
{
"student_name": "john",
"score": 39,
}
如果不止一个学生获得最高分,我想得到整个学生。
答案 0 :(得分:1)
您需要使用.aggregate()
方法和$avg
累加器运算符。
var average = db.students.aggregate([
{ "$group": { "_id": "null", avg: { "$avg": "$score"} }}
]).toArray()[0]["avg"];
然后使用.find()
方法
db.students.find({ "score": { "$gt": average } })