使用aggregate进行分组时,多个分组条件,如下
原生sql:
db.test.aggregate(
{
$group:{
_id:{name:‘$name‘,pro:‘$pro},
total:{$sum:‘$num‘}
}
},
{
$project:{
total:1
}
}
)
在java中对应如下:
//按照subjname和province进行分组 DBObject groupFields = new BasicDBObject("_id", new BasicDBObject("subjname", "$subjects.name").append("province", "$province")); //继续添加sum,avg等其他operation groupFields.put("AvgScore", new BasicDBObject("$avg", "$subjects.scores"));
本文出自 “bulajunjun” 博客,请务必保留此出处http://5148737.blog.51cto.com/5138737/1638112
原文地址:http://5148737.blog.51cto.com/5138737/1638112