构造聚合

Aggregation aggregation = newAggregation(match(beforeCriteria),unwind("suborders"),match(endCriteria),sort(page.getSort()),skip(page.getPageNumber()),limit(page.getPageSize()));

创建条件

Criteria beforeCriteria = where("suborders.supplierChannel.other.supplier._id").is(new ObjectId(sourceId));Criteria endCriteria = where("suborders.supplierChannel.other.supplier._id").is(new ObjectId(sourceId));if (Strings.isNotBlank(keywords)) {endCriteria.orOperator(where("code").regex(keywords),where("member.code").regex(keywords),where("member.name").regex(keywords),where("status.name").regex(keywords));}

查找Count总记录数

 Aggregation countAggregation = newAggregation(match(beforeCriteria),unwind("suborders"),match(endCriteria),Count.count());

调用

 @Autowiredprivate MongoOperations mongoOperations;AggregationResults<OrderSource> orders = mongoOperations.aggregate(aggregation, Order.class, OrderSource.class);List<OrderSource> orderSources = orders.getMappedResults();AggregationResults<com.jfc.common.mongodb.Count> countResults = mongoOperations.aggregate(countAggregation,Order.class, com.jfc.common.mongodb.Count.class);long total = Count.get(countResults);return new org.springframework.data.domain.PageImpl<>(orderSources, page, total);

java操作MangoDB的聚合Aggregation用法-分页查询相关推荐

  1. Elasticsearch Java API 分组、聚合、嵌套相关查询

    Elasticsearch Java API 分组.聚合.嵌套相关查询 翼支付监控系统正使用es做后端存储,这边我们是将日志计算处理过后的数据通过kafka储存到es.选择用es作为数据储存端是考虑到 ...

  2. java操作PDF文件,可支持分页、合并、图片转PDF等

    java操作PDF,有一个很好用的工具--pdfbox.只需要引入依赖,即可使用. <dependency><groupId>org.apache.pdfbox</gro ...

  3. 千锋重庆Java学习之MySQL大数据量分页查询方法及其优化

    方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...

  4. Java操作Excel报表,EasyExcel用法大全

    一:EasyExcel简介 1.EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel. 2.Java解析.生成Excel比较有 ...

  5. java操作es的多条件组合精确查询BoolQuery

    2.0之后ES的java api用法有了很大变化.在此记录一些. java应用程序连接ES集群,笔者使用的是TransportClient,获取TransportClient的代码设计为单例模式(见g ...

  6. java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询

    1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throws UnknownHostException {//1.指定es集群 cluste ...

  7. java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询过程解析...

    这篇文章主要介绍了java使用elasticsearch分组进行聚合查询过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java连接elas ...

  8. java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询(group by)-项目中实际应用...

    java连接elasticsearch 进行聚合查询进行相应操作 一:对单个字段进行分组求和 1.表结构图片: 根据任务id分组,分别统计出每个任务id下有多少个文字标题 1.SQL:select i ...

  9. Java操作Mongodb数据(增删改查聚合查询)

    文章目录 一.Java操作MongoDB 二.使用步骤 1.基础配置 2.实体类 3.MongoDB表数据 3.增删改查聚合查询 总结 一.Java操作MongoDB 上一篇文章介绍了,如何在本地使用 ...

最新文章

  1. HTTP状态码--含义
  2. 那年的12月,那些悟与思2018-12-23
  3. Android开发之自定义ImageView圆角图片的方法
  4. [css] 行内css和important哪个优先级高?
  5. c语言终极面试宝典 pdf,C语言终极面试--编程
  6. mysql drop 几十g的表_MySQL Drop 大表的解决方案
  7. Thinking in Java 10.2 链接到外部类
  8. 【Android】1.开发环境搭建
  9. 数学建模之贪心算法(背包问题)
  10. 使用Docker镜像部署Coupons淘宝客项目
  11. 非线性调频信号matlab仿真,线性调频信号回波仿真
  12. SPFA算法模板(刘汝佳版)--Wormholes POJ - 3259
  13. 手机里tencent文件夹能删吗_华为手机中的文件夹代表什么,哪些可以删除,看完秒懂-tencent是什么文件夹...
  14. Raspberry Pi Zero W 安装配置
  15. android killer 反编译工具,androidkiller反编译软件使用与踩坑并解决的过程
  16. MFS分布式文件系统
  17. happen before
  18. 桌面上计算机图标老是自动删除,win7系统总是自动删除桌面快捷方式怎么办
  19. 通过Python自动化玩腾讯微证券领长牛
  20. 桌面文件突然不见了怎么恢复?

热门文章

  1. 涉密计算机的安全审计和检查,计算机安全保密审计报告
  2. FigDraw 2. SCI 文章绘图必备 R 语言基础
  3. Java——【习题】java泛型练习题
  4. 在matlab中 编程n,Matlab与C++混合编程 1--在C++中调用自己写的matlab函数
  5. 对比两个Json对象是否一致
  6. win10系统桌面图标异常如何修复?
  7. 成都理工大学计算机组成原理考试,计算机组成原理试题-20210320185321.doc-原创力文档...
  8. ADB常用命令和Monkey命令
  9. HEVC (H.265)介绍(转)
  10. java语言算法描述_六大java语言经典算法