当前位置: 首页 > news >正文

MongoDB复杂聚合查询与java中MongoTemplate的api对应

MongoDB聚合json脚本

db.getCollection("202303_refund").aggregate([{"$match": {"courseType": "常规班课","teacherRefundReasonCheck": true,"teacherId": {"$in": [7544]},"createTime": "2023-09-08"}
}, {"$group": {"_id": {"subject": "$subject","schoolAreaId": "$schoolAreaId","grade": "$grade","classId": "$classId","isRefund": "$isRefund","teacherId": "$teacherId"},"subject": {"$first": "$subject"},"schoolAreaId": {"$first": "$schoolAreaId"},"grade": {"$first": "$grade"},"classId": {"$first": "$classId"},"isRefund": {"$first": "$isRefund"},"teacherId": {"$first": "$teacherId"},"refundCount": {"$sum": 1}}
}, {"$project": {"_id": 0,"subject": 1,"schoolAreaId": 1,"grade": 1,"classId": 1,"refundCount": 1,"teacherId": 1,"isRefund": {"$ifNull": ["$isRefund", 0]}}
}])

MongoTemplate的API

Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(new Criteria("courseType").is("常规班课").and("teacherRefundReasonCheck").is(true).and("teacherId").in(Sets.newHashSet(7544)).and("createTime").is("2023-09-08")),Aggregation.group("subject","schoolAreaId","grade","classId","isRefund","teacherId").first("subject").as("subject").first("schoolAreaId").as("schoolAreaId").first("grade").as("grade").first("classId").as("classId").first("isRefund").as("isRefund").first("teacherId").as("teacherId").count().as("refundCount"),Aggregation.project("subject","schoolAreaId","grade","classId","refundCount","teacherId","isRefund"));Iterator<RefundResult> iterator = mongoTemplate.aggregate(aggregation, "202303_refund",RefundResult.class).iterator();

相关文章:

MongoDB复杂聚合查询与java中MongoTemplate的api对应

MongoDB聚合json脚本 db.getCollection("202303_refund").aggregate([{"$match": {"courseType": "常规班课","teacherRefundReasonCheck": true,"teacherId": {"$in": [7544]},"createTime"…...

WireShark抓包工具的安装

1.下载安装包 在官网或者电脑应用商城都可以下载 2.安装 打开安装包&#xff0c;点击next 点击next 选择UI界面&#xff0c;两种都装上 根据习惯选择 选择安装位置点击安装 开始安装安装成功...

审计智能合约的成本是多少?如何审计智能合约?

审计智能合约的成本是多少&#xff1f;如何审计智能合约&#xff1f; 智能合约安全审计在去中心化金融 (DeFi) 生态系统中非常普遍。如果您投资了一个区块链项目&#xff0c;您的决定可能部分基于智能合约代码审查的结果。 虽然大多数人都了解审计对网络安全的重要性&#xff…...

9.7 校招 内推 面经

绿泡*泡&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表格 1、校招 | Momenta 2024校招火热进行中&#xff01;新增招聘岗位&#xff08;内推&#xff09; 校招 | Momenta 2024校招火热进行中&#xff01;新增招聘岗位&#xff08;内推&#xff09; 2、…...

【网络编程】IO多路复用

IO多路复用是一种高效的I/O处理方式&#xff0c;它允许单个进程能够同时监视多个文件描述符&#xff08;sockets、文件等&#xff09;&#xff0c;并在其中任何一个文件描述符准备好进行I/O操作时进行处理。它的核心在于使用少量的线程或进程来管理多个I/O操作&#xff0c;以提…...

MySQL与postgreSQL数据库的区别

MySQL 是一个流行的开源关系型数据库管理系统&#xff0c;具有以下优势&#xff1a; 开源和免费&#xff1a;MySQL 是一个开源软件&#xff0c;允许用户免费下载、使用和修改。它的免费版本&#xff08;Community Edition&#xff09;提供了广泛的功能&#xff0c;适用于大多数…...

单片机电子元器件-按键

电子元器件 按键上有 四个引脚 1 2 、 3 4 按下之后 导通 1 3 、 2 4 初始导通 通常按键开关为机械弹性开关&#xff0c;开关在闭合不会马上稳定的接通&#xff0c;会有一连串的抖动 抖动时间的长短有机械特性来决定的&#xff0c;一般为5ms 到10 ms 。 消抖的分类 硬件消…...

Nacos docker实现nacos高可用集群项目

目录 Nacos是什么&#xff1f; Nacos在公司里的运用是什么&#xff1f; 使用docker构建nacos容器高可用集群 实验规划图&#xff1a;​编辑 1、拉取nacos镜像 2、创建docker网桥&#xff08;实现集群内的机器的互联互通&#xff08;所有的nacos和mysql&#xff09;&#x…...

基于Dubbo实现服务的远程调用

目录 前言 RPC思想 为什么使用Dubbo Dubbo技术框架 ​编辑 调用关系流程 基础实现 A.提供统一业务Api B.编辑服务提供者Product B.a 添加依赖 B.b 添加Dubbo 配置(基于yaml配置文件) B.c 编写并暴露服务 C.编辑服务消费者 C.a 添加依赖 C.b 添加Dubbo配置 C.c 引用…...

Redis事务的理解

介绍 Redis通过MULTI、EXEC、WATCH等命令来实现事务功能。 事务提供了一种将多个命令请求打包&#xff0c;然后一次性、按照顺序地执行多个命令的机制&#xff0c;并且在事务执行期间&#xff0c;服务器不会因为其他客户端请求而中断事务的执行功能&#xff0c;他会将事务中的…...

PostgreSQL安装异常,服务无法启动导致创建服务器超时

win上安装pg后无法创建服务器&#xff0c;提示创建超时&#xff0c;发现服务列表里面pg15服务 并没有启动&#xff0c;启动服务器发现服务不了&#xff0c;截图忘记截了&#xff0c;复现不了&#xff0c;解决方法是 换个身份&#xff0c;然后继续启动&#xff0c;然后就可以在…...

汽车电子系统网络安全解决方案

声明 本文是学习GB-T 38628-2020 信息安全技术 汽车电子系统网络安全指南. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 汽车电子系统网络安全范围 本标准给出了汽车电子系统网络安全活动框架&#xff0c;以及在此框架下的汽车电子系统网络安全活动…...

切片机制和MR工作机制

切片机制 默认的切片大小和块大小一致&#xff0c;切片的个数决定了MapTask的个数。 数据倾斜问题&#xff1a;如果某个切片的大小太小&#xff0c;会浪费了MapTask申请的CPU资源。 如果剩余数据长度大于128*1.1, 就切片成2份&#xff0c;否则就不进行切分了。 InputFormat基…...

【postgresql 基础入门】基础架构和命名空间层次,查看数据库对象再也不迷路

postgresql 基础架构 ​专栏内容&#xff1a; postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献&#xff1a; toadb开源库 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&…...

是的,决定放弃算法去机器学习了

可是梦想啊&#xff01;~她永存心间&#xff01;&#xff01;&#xff01; 我啊~本是执着于这些算法的怪咖&#xff0c;梦想是icpc&#xff0c;ccpc~ 可是啊~ 在以后的科研和工作中&#xff0c;这些算法很多都是用不到的&#xff0c;学习算法更重要的目的是锻炼编程能力和分析…...

Python 03(循环语句)

Python03&#xff08;循环语句&#xff09; 文章目录 Python03&#xff08;循环语句&#xff09;一、while语句二、while实现猜数字三、while循环的嵌套while循环嵌套实例需求&#xff1a; 四、for循环1、什么 是for循环2、语法3、执行流程4、for循环的基本使用5、range()函数6…...

安科瑞铁塔基站能耗监控解决方案

安科瑞 华楠 1 背景概述 5G发展&#xff0c;基站先行。5G基站的选址建设&#xff0c;是保证5G信号覆盖的基础&#xff0c;因此5G基站建设是5G产业布局的一部分&#xff0c;也是5G成熟的基础。 2G、3G、4G均是低频段信号传输&#xff0c;宏基站几乎能应付所有的信号覆盖。但由…...

操作系统-线程复用

操作系统执行线程复用的过程涉及到线程调度和管理。线程复用是指操作系统能够有效地重用现有的线程来执行新的任务&#xff0c;而不必每次都创建新线程。这有助于减少线程创建和销毁的开销&#xff0c;提高系统性能。下面是操作系统如何执行线程复用的关键步骤&#xff1a; 线程…...

通达信自定义副图行业指标K线指标 HYZS_QD

行业指数:HY_INDEXC,NODRAW; DRAWKLINE(HY_INDEXH,HY_INDEXO,HY_INDEXL,HY_INDEXC); MA5:MA(HY_INDEXC,5),COLORWHITE; {MA10:MA(HY_INDEXC,10),COLORYELLOW,LINETHICK2}; DRAWTEXT_FIX(1,1,1,1,STRCAT(STRCAT(CON2STR(HY_INDEXADV,0),/),STRCAT(CON2STR(HY_INDEXDEC,0), ))),…...

MDK-Keil AC6 Compiler屏蔽特定警告

最近在使用STM32CubeMX生成MDK工程是&#xff0c;使用了 AC6 版本的编译器进行编译代码&#xff0c;然后发现了一些警告&#xff0c;但是在 AC5 版本下编译又正常。于是研究了下怎么屏蔽特定的警告&#xff0c;这里记录一下。 1. Keil AC6屏蔽特定警告 遇到的警告如下&#x…...

Swagger2Word:高效转换与文档自动化的API文档解决方案

Swagger2Word&#xff1a;高效转换与文档自动化的API文档解决方案 【免费下载链接】swagger2word 项目地址: https://gitcode.com/gh_mirrors/swa/swagger2word 在软件开发过程中&#xff0c;API文档的管理和维护常常成为团队协作的痛点。开发人员使用Swagger/OpenAPI规…...

音乐播放器界面定制指南:foobar2000美化方案与体验提升

音乐播放器界面定制指南&#xff1a;foobar2000美化方案与体验提升 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 在数字音乐时代&#xff0c;播放器已不仅是播放工具&#xff0c;更是个人音乐品味的…...

YOLOv8模型剪枝实战:如何利用BN层特性实现高效通道裁剪(附完整代码)

YOLOv8模型剪枝实战&#xff1a;从BN层特性到工程化部署的完整指南 在计算机视觉领域&#xff0c;YOLOv8凭借其卓越的实时检测性能已成为工业界的热门选择。但当我们将模型部署到资源受限的边缘设备时&#xff0c;模型大小和计算效率往往成为瓶颈。本文将深入探讨如何利用BN层γ…...

AI 创作者指南:09.AI 作为你的创作运营助理

第 9 篇 AI 作为你的创作运营助理 多模态魔法刚玩完,你现在一篇文章能变10种形态,是不是已经觉得内容像会“分身术”了?😊 来,第三部分继续!第9篇——AI 作为你的创作运营助理。 以前你自己盯排期、想矩阵、试标题,累得像管家婆。现在AI直接当你的“运营小秘书”,帮你…...

Windows 11终极优化指南:用Win11Debloat免费提升51%系统性能

Windows 11终极优化指南&#xff1a;用Win11Debloat免费提升51%系统性能 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简…...

Ubuntu服务器上配置KVM虚拟化环境:从零搭建Windows开发环境

1. 为什么要在Ubuntu服务器上跑Windows&#xff1f; 很多开发者可能都有这样的困惑&#xff1a;明明手头有性能强劲的Ubuntu服务器&#xff0c;但某些开发工具只能在Windows环境下运行。比如Visual Studio、SQL Server Management Studio这些微软系工具&#xff0c;或者某些行业…...

CBoard自研多维引擎揭秘:轻量级架构如何撬动大数据分析

CBoard自研多维引擎揭秘&#xff1a;轻量级架构如何撬动大数据分析 【免费下载链接】CBoard CBoard - 这是一个基于 Node.js 的开源面板&#xff0c;用于管理 Kubernetes 集群和应用程序。适用于 Kubernetes 集群管理、容器编排、持续集成等场景。 项目地址: https://gitcode…...

Mirage Flow 硬件开发入门:Keil5 MDK安装与嵌入式AI项目创建

Mirage Flow 硬件开发入门&#xff1a;Keil5 MDK安装与嵌入式AI项目创建 如果你对把AI模型塞进一个小小的单片机里感到好奇&#xff0c;想亲手试试让硬件“聪明”起来&#xff0c;那么你来对地方了。很多朋友在第一步——搭建开发环境上就卡住了&#xff0c;面对一堆安装包和配…...

内核热补丁和function trace的兼容性浅析

本文代码基于linux内核4.19.195. 之前的文章简要讲解了内核热补丁的原理&#xff0c;也提到了热补丁是基于ftrace框架实现的。平时我们在用ftrace时&#xff0c;最常用的功能当属function tracer了。这天一个有趣的问题突然浮现在我的脑海里&#xff1a; 如果我对同一个函数&am…...

小爱音箱改造AUX输入/输出全攻略:一个“几乎成功”的故事

前言很多朋友都想给小爱音箱增加AUX输入和输出功能&#xff0c;实现外接电视、电脑等音源&#xff0c;同时将音箱的声音输出到更大的外置音响系统。网上有很多改造教程&#xff0c;但普遍存在一个严重问题&#xff1a;只实现了单声道输入&#xff0c;浪费了硬件本身的立体声能力…...