Spring-Data-MongoDB:从($gt,$lt)更改为($gte,$lte)

2022-05-13 00:00:00 spring java spring-data-mongodb

在我的存储库中,我添加了以下方法:

List<Event> findByEventDateBetween(LocalDate start, LocalDate end);

Spring-data-mongo生成的查询为:

[调试]2020-09-11 15:39:59,550-o.s.d.m.c.MongoTemplate-Find Using 查询:{";eventDate";:{";$gt";:{";$Date";:1577833200000},";$lt";: {&QOOT;$DATE";:1599775200000}}字段:CLASS:CLASS的文档{{}} Xxxxxx

当使用BETWEEN关键字时,有没有办法告诉Spring数据使用$gte$lte而不是$gt$lt


解决方案

您可以使用@Query批注,如下所示:

@Query(value = "{'eventDate':{ $gte: ?0, $lte: ?1}}")
List<Event> findByEventDateBetween(LocalDate start, LocalDate end);

相关文章