mongodb分组查询,取各班第1名

做排行,想取每个班级(level)里积分最高的人,各取1个。
数据表如图:

结果应该为:

我使用的代码为:

 function onRequest(request, response, modules) {
  //获取数据库对象
  var db = modules.oData;

  //黑坑1
  db.find({
    "table":"test",
    "limit":2,
    //"count":10,
    "order":"score",
    "score":{'$in':[1,2]},
    "keys":"name,level,score", 
   // "where":{}
    "count":4  
    },function(err,data){  
    //  level1Dat=data;
    var dataI=JSON.parse(data);
   response.send(dataI);
  }
  );

}

得到的错误结果为:

 {
  "count": 8,
  "results": [
    {
      "createdAt": "2017-03-29 23:35:32",
      "level": "2",
      "name": "王王",
      "objectId": "ygjV555B",
      "score": "10",
      "updatedAt": "2017-03-29 23:52:46"
    },
    {
      "createdAt": "2017-03-29 23:33:38",
      "level": "1",
      "name": "小明",
      "objectId": "nB0sLLLc",
      "score": "100",
      "updatedAt": "2017-03-29 23:35:52"
    }
  ]
}

新手小白,查了一天的分组和聚合,越看越糊涂,求大神帮忙指点,谢谢

查看回复