统计mongodb数组类型的,某一个字段出现次数
程序员文章站
2022-04-15 14:45:09
...
1、Document结构
2、需求:统计data数组中,每个key出现的次数
String datasetId = "NREUA4B4CVEHJIV6LMBXOV5BLA";
List<BasicDBObject> aggregateList = new ArrayList<>();
BasicDBObject matchCond = new BasicDBObject("$match", new BasicDBObject("dataset_id", datasetId));
aggregateList.add(matchCond);
aggregateList.add(new BasicDBObject("$unwind", "$data"));
BasicDBObject groupCond = new BasicDBObject("$group", new BasicDBObject("_id", "$data.key").append("count" , new BasicDBObject("$sum", 1)));
aggregateList.add(groupCond);
//排序,同一字段出现次数前10的
aggregateList.add(new BasicDBObject("$sort", new BasicDBObject("count", -1)));
aggregateList.add(new BasicDBObject("$limit", 10));
MongoCursor<org.bson.Document> cursor = mdcMongoTemplate.getCollection("cdr_data").aggregate(aggregateList).iterator();
while (cursor.hasNext()) {
org.bson.Document doc = cursor.next();
System.out.println(doc);
}
上一篇: PHP数组里面的某一个字段值相加(求和)
下一篇: Linq语句查询数据
推荐阅读
-
Java编程实现统计数组中各元素出现次数的方法
-
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
-
PHP实现统计一个数字在排序数组中出现次数的方法
-
php实现数组中出现次数超过一半的数字的统计方法
-
python 统计数组中元素出现次数并进行排序的实例
-
面试题-给定一段文本,找到包含字段串a,同时剔除包含字符串b的行,然后使用“:”分割取所有列,最后对结果排序,统计每个值出现的次数
-
按月份统计某一个机构的某列出现的次数
-
mysql 统计某字段连续出现的次数
-
按月份统计某一个机构的某列出现的次数
-
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数_php技巧