在项目中接触到对一组数据进行分组才研究了一下groupBy对象
public void getBy(String compId){ GroupBy gb=new GroupBy("goodsId").initialDocument("{count:0}").reduceFunction("function(doc, result){result.count++}"); GroupByResults<CompGoods> group = mongoTemplate.group( "compGoods", gb, CompGoods.class); DBObject rawResults = group.getRawResults(); //retval为系统默认规定里面包括分组的字段和你在initialDocument设置的值 BasicDBList object = (BasicDBList)rawResults.get("retval"); for (int i = 0; i < object.size(); i++) { BasicDBObject object2 = (BasicDBObject) object.get(i); Double object3 = (Double)object2.get("count"); System.out.println(object3); } //这个返回为对象 Iterator<CompGoods> iterator = group.iterator(); while(iterator.hasnext()){ iterator .next(); } }