JAVA 通过MongoTemplate管理MongoDB的统计实现-程序员宅基地

技术标签: JAVA  MongoDB  mongodb  

  • 根据投保单号(applNo),组织层次代码(levelCode),险种代码(polCode) 查询被保人信息【GrpInsured】组织查询条件:

//1、组织查询条件:

Criteria c=Criteria.where("applNo").is("").and("levelCode").is("");

//org.springframework.data.mongodb.core.aggregation.Aggregation,用于组合一个统计需要的元素

Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(c), //查询条件

Aggregation.unwind("subStateList"), //需要一个文档数组,并将它们作为一个文档流返回。

//group("$subStateList.polCode"):需要根据分组的字段

//sum("subStateList.premium"):需要聚合的字段

//as("sumPremium") :起别名

Aggregation.group("$subStateList.polCode").sum("subStateList.premium").as("sumPremium")
);

 

 

AggregationResults<GrpInsured> aggregate = 

mongoTemplate.aggregate(aggregation, 需要查询的集合名称, 集合对应Model【GrpInsured】.class);

//通过调试可知道,查询出的结果存放在aggregate.getRawResults().get("result")中;

BasicDBList bdbl =(BasicDBList) aggregate.getRawResults().get("result");
//获取子要约【SubState】中险种保费【premium】累计数
double sumPremium = 0 ;
for(int i=0;i<bdbl.size();i++){   
 BasicDBObject obj=(BasicDBObject) bdbl.get(i);   
 System.out.println("id:"+obj.getString("_id")+">>>>sumPremium:"+obj.getDouble("sumPremium"));            

 

}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/One_Rabbit2016/article/details/52495331

智能推荐

extranet的了解_extranet是什么意思-程序员宅基地

“Extranet”英语翻译-外联网 有关准确的Extranet定义还在讨论中,但大多数人都能接受的Extranet的定义是:Extranet是一个使用Internet/Intranet技术使企业与其客户和其它企业相连来完成其共同目标的合作网络。Extranet可以作为公用的Internet和专用的Intranet之间的桥梁,也可以被看作是一个能被企业成员访问或与其它企业合作的企业Intranet的一部分。_extranet是什么意思

数据结构---算法效率、时间复杂度、空间复杂度_数据结构时间空间复杂度越大效率越快吗-程序员宅基地

~~1.算法效率~~算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率 被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要 的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机 行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关..._数据结构时间空间复杂度越大效率越快吗

RT-Thread 升级时起始运行地址不是0x08000000_rtthread systeminit-程序员宅基地

我调试STM32程序,带RT-Thread操作系统,将程序起始位置修改为0x08008000,程序就不能正常运行了,如改回成0x08000000,就可以了。如果我不用操作系统程序没问题。有谁晕倒过这样的事啊?求助!找到原因了,原来在RTT的系统里初始化程序有两次重复修改了SCB->VTOR寄存器。首先修改#define VECT_TAB_OFFSET 0x80_rtthread systeminit

移动开发网络包分析之一 (抓包工具)_replica抓包-程序员宅基地

抓包工具 分析1. IOS抓包工具 Charles使用在iOS开发过程中,抓包是常见的必备技能之一。官方dmg下载地址:点击此处下载Charles工具介绍:Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成..._replica抓包

Java的数据类型-初学篇-程序员宅基地

1.Java的基本数据跟引用数据类型:https://www.cnblogs.com/dubo-/p/5565677.html2.Java的参数传递问题:https://blog.csdn.net/dela_/article/details/780755073.Java八大基本数据类型:https://blog.csdn.net/u014266877/article/details/5437486...

VUE之组件(组件通信、单向数据流)-程序员宅基地

组件通信我们已经知道,从父组件向子组件通信,通过 props 传递数据就可以了,但 Vue 组件通信的场景不止有这一种,归纳起来,组件之间通信可以用下图表示。单向数据流单向数据流是父子组件的核心概念,props是单向绑定的。当父组件的属性发生变化的时候,会传导到子组件。但是反之,为了防止子组件无意间修改来父组件的状态,从下往上的数据流是不允许的。当父组件属性改变时,会传进子组件。而子组...

随便推点

fullcalendar今天之前变灰,需要在事件时间之前显示事件标题(fullcalendar)-程序员宅基地

I have events that contain both the event title and event time. However, I need to have 'fc-event-title' show up first in the event, before 'fc-event-time'. Right now it's the opposite. How would I go...

read tcp 172.17.0.12:48092->34.195.201.174:443: read: connection reset by peer Docker错误-程序员宅基地

服务器安全组没加报错的端口48092,我碰到的有两次不同的端口报错,58218和48092,加上就好了_read tcp

图嵌入模型综述:方法、数据集和应用-程序员宅基地

来源:Coggle数据科学图嵌入模型综述图分析用于深入挖掘图数据的内在特征,然而图作为非欧几里德数据,传统的数据分析方法普遍存在较高的计算量和空间开销。图嵌入是一种解决图分析问题的有效方法,其将原始图数据转换到低维空间并保留关键信息,从而提升节点分类、链接预测、节点聚类等下游任务的性能。图是复杂系统中常用的信息载体,可以表示现实中许多复杂关系,如社交网络、犯罪网络、交通网..._图嵌入模型

git使用报错(持续更新)-程序员宅基地

git使用报错: 1.报错: modified: xxx(modified content, untracked content) 解决方法:删除目录下的.git文件,重新git add . 2.git pull报错:refusing to merge unrelated histories,无法pull 解决方法: git pull origin master –allow-unrela...

ubuntu18.04安装docker及配置加速器-程序员宅基地

$ sudo apt update安装docker$ sudo apt install docker.io查看docker版本$ sudo docker versionClient: Version: 17.12.1-ce API version: 1.35 Go version: go1.10.1 Git commit: 7390fc6 Built: Wed Apr 18 01:23:11 20...

3389 Mstsc远程桌面出现提示内部错误解决办法(不走弯路)_3389出现了内部错误-程序员宅基地

截图如下:win7 亲测成功!以管理员权限打开CMD执行:netsh winsock reset结果截图:_3389出现了内部错误