如何使用 @Query 在日期 Spring 数据 MongoDB 之间进行选择

Posted

技术标签:

【中文标题】如何使用 @Query 在日期 Spring 数据 MongoDB 之间进行选择【英文标题】:How to select between dates Spring data MongoDB using @Query 【发布时间】:2017-09-27 16:20:31 【问题描述】:

我在 MongoDB 中使用 Spring 数据,我需要在实际日期和提前 7 天之间找到。

我已经创建了带有 @Query 注释的存储库,但不喜欢使用 Criteria 类。

您知道如何使用 @Query 进行用户操作吗?

提前致谢。

【问题讨论】:

【参考方案1】:

你可以试试下面的查询。

使用@Query 注解

@Query(value = "'date': $lt: ?0, $gt: ?1")
List<SomeClass> findByDateBetween(Instant from, Instant to);

或者

使用存储库支持的关键字

List<SomeClass> findByDateBetween(Instant from, Instant to);

【讨论】:

@Query 解决方案解决了我的问题,非常感谢!! 有没有办法让这项工作同时还包括额外的过滤条件?【参考方案2】:

你可以试试thquery。

@Query(value = "'champsDate': $gte: ?0, $lte: ?1")
List<entity> findByChampsDateBetween(Date startDate, Date endDate);

【讨论】:

以上是关于如何使用 @Query 在日期 Spring 数据 MongoDB 之间进行选择的主要内容,如果未能解决你的问题,请参考以下文章

Spring数据mongodb存储库语法中的@Query注释

如何在Google表格中使用QUERY返回最大日期的行?

Spring JDBC Template SQL-Query 按日期过滤

如何使用 laravel 中的 query() 函数对两个日期之间的数据进行排序

如何在 Date Spring Query DSL 中计算不同的年份?

Spring Data JPA - 带有“@Param Date”的自定义@Query 不起作用