JAVA - mongodb 聚合查询方式三

版权声明:本文为博主原创文章,未经博主允许不得转载,如果转载,我也不是很介意。 https://blog.csdn.net/qq_34926773/article/details/79696489

三、BasicDBObject+脚本语句

java代码实现:

BasicDBObject groupIndex = new BasicDBObject();
BasicDBObject distinctQuery = new BasicDBObject();
distinctQuery.put("userId", new BasicDBObject("$in", userIds));//UserIds数组
BasicDBObject initIndex = new BasicDBObject();
initIndex.put("count", 0);//给count赋初值
// 脚本(doc代表数据库的数据.prev代表查询结果//prev.count这里的count就是上一步initIndex的count)
String reduce = "function(doc, prev) {if(doc.status==0){prev.count+= 1;};}";
List<Map<String, Object>> basicDBList = (List<Map<String, Object>>) mongoTemplate.getCollection("Collection")
	.group(groupIndex, distinctQuery, initIndex, reduce, null);

最后循环遍历List即可得到结果

有问题的话 欢迎给我回复,我会及时回复您的

猜你喜欢

转载自blog.csdn.net/qq_34926773/article/details/79696489