Java实现MongoDB的日期(Date)分组功能
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,在上篇博文中,我通过封装的一个Java接口实现了MongoDB的Group功能,但是没有讲怎么根据日期Date查询,这里补充一下,如何完善MongoDB的日期Group功能。在实现Group功能时,通
千家信息网最后更新 2024年11月20日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安全错误
数据库的锁怎样保障安全
oracle数据库如何加列
安永的网络安全
系统数据库包括什么
昆山租车软件开发
服务器亮红灯滴滴响
施乐j75服务器亮黄色灯
csiq图像质量评价数据库
南京软件开发来无锡
presto数据库
武大的网络安全专业
网络安全工作是宣委负责吗
服务器维修保养合同
重庆管理软件开发一般要多少钱
服务器内存条装同颜色卡槽
软件开发凭证
邢台市网络安全公益广告
pop在数据库中指什么意思
网络安全法律颁布实施时间
郑州软件开发公司网站
服务器后台规划
中国始终是国际网络安全的
数据库如何确定变量类
云服务器挂游戏
服务器iis管理在哪
升级web服务器
GTA5更新会关服务器吗
数据库的索引类型
软件开发应用工程师工资
武汉银行部门软件开发岗位
静安区智能化软件开发质量