首页 > 数据库 >mongodb某个字段distinct计数问题

mongodb某个字段distinct计数问题

时间:2023-03-23 18:13:30浏览次数:43  
标签:operations count distinct mongodb Aggregation add Criteria 计数问题 match

方式1

List<AggregationOperation> operations = new ArrayList<>();

operations.add(Aggregation.match(Criteria.where("created_at").gte(begin).lte(end)));
operations.add(Aggregation.match(Criteria.where("deleted_at").isNull()));

operations.add(Aggregation.group("user_id").count().as("total"));
Aggregation agg = Aggregation.newAggregation(operations);
AggregationResults<TotalDto> result = mongoTemplate.aggregate(agg, "cycling", TotalDto.class);
var count = result.getMappedResults().size();
return (long) count;

方式2

List<AggregationOperation> operations = new ArrayList<>();

operations.add(Aggregation.match(Criteria.where("created_at").gte(begin).lte(end)));
operations.add(Aggregation.match(Criteria.where("deleted_at").isNull()));

operations.add(Aggregation.group("user_id"));
operations.add(Aggregation.count().as("total"));
Aggregation agg = Aggregation.newAggregation(operations);
TotalDto dto = mongoTemplate.aggregate(agg, "cycling", TotalDto.class).getUniqueMappedResult();
if (Objects.nonNull(dto)) {
	return dto.getTotal();
}
return 0L;

标签:operations,count,distinct,mongodb,Aggregation,add,Criteria,计数问题,match
From: https://www.cnblogs.com/qiudaozhang/p/17248341.html

相关文章

  • MongoDB基础
    优质博客网站:IT-BLOG-CN一、简介MongoDB是一个强大的分布式文件存储的NoSQL数据库,天然支持高可用、分布式和灵活设计。由C++编写,运行稳定,性能高。为WEB应用提供可扩展......
  • MongoDB 数据库部署和应用
    推荐步骤:➢在Centos01上部署MongoDB服务器客户端登录验证➢在Centos01的MongoDB配置文件通过控制文件控制MongoDB服务,配置MongoDB身份验证➢在Centos01......
  • mongodb创建用户
    $dockerexec-itmongomongoadmin#创建一个名为admin,密码为123456的用户。>db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabas......
  • 【数位DP】计数问题
    导读^_^数位DP数位DP,即是对数的每一位进行统计操作的DP问题。计数问题思路(分类讨论)首先,如果一遍遍枚举,显示是不行的,因为1e8次这样,明显会超时。这类问题的关键是......
  • Medoo distinct count 统计查询写法
    Medoo写法://下面是meedo写法$data=$this->mysql->get('member_coupon_provide',['count_order'=>Medoo::raw('COUNT(DISTINCT(<orderNo>))'),],['sid......
  • Deepin 安装MongoDB Compass 1.35.0
    deepin软件商店版本太低,从官网下载一个最新版本,手动安装分享一下安装过程MongoDBCompass下载地址使用deepin自带的软件包安装器,选择文件安装即可。由于无法指定目......
  • MongoDB简介及SpringBoot整合
    一、概述MongoDB中的记录是一个文档,它是一个数据结构组成字段和值对。MongoDB文档类似于JSON。对象。字段的值可能包括其他文档、数组、和文档数组:数据库(Database):和关系型......
  • MongoDB被黑,数据莫名其妙的没了
    刚装的YAPI隔天莫名其妙的登录不了,去检查数据库发现MongoDB的的yapi库没了剩下一个DB:READ_ME_TO_RECOVER_YOUR_DATA内容是:Allyourdataisabacked......
  • mongodb脚本创建
    db.createCollection("express_track");db.getCollection("express_track").createIndex({mailNo:NumberInt("1")},{name:"mailNo_1"});db.getCollection("ex......
  • mongodb switch case
    //构造测试数据db.hello100.insertMany([ {"name":"doc01","age":10}, {"name":"doc02","age":11}, {"name":"doc03","age":12}, {"name":"doc03",&qu......