MongoDB函数介绍:

  • •$project - 可以重构数据
  • •$match - 可以实现类似query的功能

  • •$limit - 限制返回个数

  • •$skip - 同上

  • •$unwind - 可以将一个包含数组的文档切分成多个, 比如你的文档有数组字段 A, A中有10个元素, 那么 经过 $unwind处理后会产生10个文档,这些文档只有 字段 A不同

  • •$group - 统计操作, 还提供了一系列子命令

  • –$avg, $sum …

  • •$sort - 排序

业务需求,根据时间进行分组排序并查询出相应字段。

//分组条件,按照天进行分组
DBObject all = new BasicDBObject("_id",new BasicDBObject("month",new BasicDBObject("$month", "$loginTime")).append("day", new BasicDBObject("$dayOfMonth", "$loginTime")).append("year", new BasicDBObject("$year", "$loginTime"))).append("count",new BasicDBObject("$sum", 1));// groupDBObject group = new BasicDBObject("$group", all);DBObject condition1 = new BasicDBObject();condition1.put("loginTime",new         BasicDBObject("$gte",tody).append("$lte", tomorrow));//注意这边时间是要data类型DBObject match = new BasicDBObject("$match", condition1); // $match相当于where// 排序DBObject sortFields = new BasicDBObject("loginTime", -1);// 注意此处排序是按照字段day升序,但是不能写day 需用_id代替,因为day是group用的字段DBObject sort = new BasicDBObject("$sort", sortFields);
//List需要按照顺序添加List<DBObject> optionList = new ArrayList<>();optionList.add(match);optionList.add(group);optionList.add(sort);AggregationOutput output =                             mongoTemplate.getCollection("logMemberLogin").aggregate(optionList);for (DBObject obj : output.results()) {输出XXX
}

以上就是Mongodb按照时间天分组的教程了。

Mongodb 按照时间进行分组统计查询相关推荐

  1. mongodb aggregate按日期分组统计及spring mongo实现

    如需转载请注明出处: mongodb aggregate按日期分组统计及spring mongo实现 实现的需求 传入毫秒级开始时间戳和结束的时间戳,根据当前状态currentStatus.statu ...

  2. SQL service基础(二)对数据指定列查询、条件查询、查询结果排序、聚集函数查询、分组统计查询

    实验目标: 1.掌握指定列或全部列查询 2.掌握按条件查询 3.掌握对查询结果排序 4.掌握使用聚集函数的查询 5.掌握分组统计查询 一.请完成书中实验7.1,并完成以下问题. 1.查询所有学生的姓名 ...

  3. mysql中实现分类统计查询的步骤_在MySQL中如何进行分组统计查询

    昨天和大家分享了MySQL中,如何进行聚合函数及统计函数查询,若是不清楚的话,可以去看一下我的那个文章.今天继续和大家分享,在MySQL中如何进行分组统计查询,这个在实际应用中,也会经常运用到,比如以 ...

  4. 数据分析 - 分组统计查询

    文章目录 一.问题引入 (一)分组查询 (二)汇总数据 二.分组统计查询 (一)基本概念 (二)语法格式 (三)注意事项 (三)案例演示 三.聚合函数 (一)AVG()函数 1.函数功能 2.基本语法 ...

  5. mysql查询 展示横纵坐标_sql 分组统计查询并横纵坐标转换

    关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop tab ...

  6. Oracle学习笔记(七)——分组统计查询

    Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...

  7. Oracle之数据操作__分组统计查询

     一. 统计函数        1. COUNT(*),COUNT(字段),COUNT(DISTNCT 字段) SELECT COUNT(*),COUNT(ename),COUNT(comm),COU ...

  8. SQL——分组统计查询

    统计函数 COUNT(*|DISTINCT|列) --求出全部的记录数,即全部行 SUM(列) --求出总和,操作的列是数字 AVG(列) --求平均值 MAX(列) --求最大值 MIN(列) -- ...

  9. 《卸甲笔记》-分组统计查询对比

    统计函数对比 1查询出公司每个月支出的月工资总和 Oracle SQL> select SUM(sal) from emp;SUM(SAL) ----------29025 PPAS scott ...

  10. MyBatis分组统计查询、多条件查询

    声明一下,本文章基于之前的博客https://blog.csdn.net/Xeon_CC/article/details/107219206 的环境下进行编码,但是不影响童鞋们浏览此文章,毕竟说的是一 ...

最新文章

  1. java 两个值对换_java将两个整型变量值进行互换的几种实现方法
  2. 腾讯林衍凯:图神经网络,考虑「拓扑信息」会怎样?
  3. vuejs,angularjs,reactjs介绍
  4. ListCtrl添加右键菜单(ListCtrl类里编辑,给ListCtrl 发送NM_RCLICK消息)
  5. SAP Spartacus里cx-carousel的实现
  6. Linux维护笔记五
  7. jquery --- pip方法
  8. text 热敏打印机_只要有想象力,打印机都能做游戏
  9. 逆袭之旅.DAY08东软实训.多态~
  10. 沉得住气的程序员们!
  11. 60-100-024-使用-MySQL 表锁
  12. Leetcode打卡 | No.24 两两交换链表中的节点
  13. 阿里正在使用一种更灵活的软件集成发布模式
  14. 关于电脑误删摸个配置文件导致系统异常的解决方法(知道误删的什么文件)
  15. ibmx系列服务器装系统,IBM X系列服务器 系统安装指南.pdf
  16. 自定义View之HenCoder学习笔记
  17. python等值面追踪_等值线的追踪算法(2)
  18. 国家区块链漏洞库 《区块链漏洞定级细则》发布
  19. 专利权利要求书七步法
  20. Java面试题中高级,nasdocker有啥好玩的

热门文章

  1. Android串口开发
  2. 强人工智能和弱人工智能
  3. Crazy Bird
  4. 【通讯录自动导入】txt格式转vcf格式
  5. 装两个独立的双系统,在笔记本电脑上
  6. php获取上周一,php strtotime 如何获取上周一的时间呢?-1 monday不对
  7. 【得物技术】机器学习在图形验证码识别上的应用
  8. appcan mysql_AppCan 双击返回按钮退出应用 | 学步园
  9. Python学习总结报告
  10. 能提升自己能力的几个经典项目