首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用日期查询mongoTemplate

使用日期查询mongoTemplate
EN

Stack Overflow用户
提问于 2019-09-25 04:02:25
回答 1查看 622关注 0票数 1

我正在尝试使用Spring Java中的mongoTemplate查找某个日期之前的所有行。虽然有很多旧记录,但没有返回任何行。

有什么问题吗?

代码语言:javascript
复制
Calendar cal = GregorianCalendar.getInstance();
cal.add( Calendar.DAY_OF_YEAR, -73);
Date prevDate = cal.getTime();
List<AuditTrailDTO> dt = mongoTemplate.find(Query.query(Criteria.where("AUDIT_CREATE_DATETIME").lte(prevDate)), AuditTrailDTO.class);

Mongo DB中的AUDIT_CREATE_DATETIME存储格式如下:

代码语言:javascript
复制
Audit_Create_DateTime:2019-07-10 08:47:02.078
EN

回答 1

Stack Overflow用户

发布于 2019-09-25 13:02:30

如果Audit_Create_DateTime的类型是Date,那么它应该可以工作,所以我假设Audit_Create_DateTimeString类型。

您可以执行以下操作来对String字段执行less-than-equals逻辑;

代码语言:javascript
复制
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");  
Query query = Query.query(Criteria.where("AUDIT_CREATE_DATETIME").lte(dateFormat.format(prevDate)));
List<AuditTrailDTO> dt = mongoTemplate.find(query, Customer.class);

这将返回正确的结果,尽管我建议将Date值正确地存储为正确的类型,而不是String类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58087409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档