Java实现MongoDB的日期(Date)分组功能
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,在上篇博文中,我通过封装的一个Java接口实现了MongoDB的Group功能,但是没有讲怎么根据日期Date查询,这里补充一下,如何完善MongoDB的日期Group功能。在实现Group功能时,通
千家信息网最后更新 2025年11月10日Java实现MongoDB的日期(Date)分组功能
在上篇博文中,我通过封装的一个Java接口实现了MongoDB的Group功能,但是没有讲怎么根据日期Date查询,这里补充一下,如何完善MongoDB的日期Group功能。
在实现Group功能时,通常还要附带一些条件,查询分组时只查询状态为已完成的或者未完成的,再或者查询某个日期时间段内符合条件的分组。这时候,如果在Reduce中设置符合条件的日期再计数,你会发现MongoDB完全忽略了日期。为什么?因为语法不对。
在MongoDB中查询特定条件的分组时,应该把这些条件放到Condition中,具体怎么做,还是看下面的代码吧。
public String getCTOStatistic() throws Exception { String ctoTaskType = getParameterValue("ctoTaskType").toString(); String startDate = getParameterValue("startDate").toString(); String endDate = getParameterValue("endDate").toString(); DBObject initial = new BasicDBObject(); DBObject index = new BasicDBObject(); BasicDBObject cond = new BasicDBObject(); BasicDBObject dateCondition = new BasicDBObject(); index.put("count", 0); index.put("ctoPerson", ""); initial.put("ctoPerson", index); cond.put("ctoStatus", "Finished"); if(StringUtils.isNotEmpty(ctoTaskType)){ cond.put("taskId", ctoTaskType); } if(StringUtils.isNotEmpty(startDate)){ dateCondition.append("$gte", DateUtil.toDate(startDate)); } if(StringUtils.isNotEmpty(endDate)){ dateCondition.append("$lt", DateUtil.toDate(endDate)); } cond.put("jobCreateTime",dateCondition); String reduce = "function (doc, out) { " + " out.ctoPerson.count = out.ctoPerson.count+=1; " + " out.ctoPerson.ctoPerson = doc.ctoPerson;" + "}"; BasicDBList group = (BasicDBList) ctoJobService.group( new String[] { "ctoPerson"}, cond, initial, reduce, null); this.jsonResult = group.toString(); return SUCCESS; }
日期
条件
查询
功能
分组
不对
上篇
代码
接口
时间
时间段
状态
语法
还是
面的
中设
封装
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库如何将数据结构导出
网络安全的权威书籍
医药数据库价格
大数据科技学什么软件开发
如何用数据库做分页
科教版网络技术应用电子
关系型数据库.关系
网络安全实训自我总结报告
用友时空医药软件开发
立玛科技互联网
中国水稻数据库中研粳稻19
有关网络安全宣传图片
2008邮箱服务器搭建
浙江网络技术咨询成交价
学生要注意的网络安全
国内外重要网络安全事件
游戏开服务器
安卓连接到服务器
iis服务器需要启动吗
如何掌握计算机网络技术
ACCESS数据库技术文案
通信网络安全防护三项工作
arp服务器时断时通
新三板网络安全企业排名
温州市森马网络技术公司
hclnotes数据库选项
我的世界服务器多少钱
服务器解析失败
mysql数据库时间分片
pd生成数据库文件