日期之间的MongoRepository查询

时间:2017-02-12 15:54:20

标签: spring-data spring-data-mongodb

我的pojo

public class PacketData implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private final String token = UUID.randomUUID().toString();

    private final ZonedDateTime arrived = ZonedDateTime.now();
}

我计划使用以下内容。

@Query("?")
List<PacketData> findPacketArrivedBetween(ZonedDateTime startDate, ZonedDateTime endDate);

有没有办法可以将以下查询放到上面的query注释中,以及我如何做到大于和小于逻辑

Query query = new Query().addCriteria(Criteria.where("arrived").gte(startDate).lte(endDate));

1 个答案:

答案 0 :(得分:4)

您可以尝试以下几种方式。

没有查询注释。

List<PacketData> findByArrivedBetween(ZonedDateTime startDate, ZonedDateTime endDate);

使用查询注释。

@Query("{'arrived': {$gte: ?0, $lte:?1 }}")
List<PacketData> findPacketArrivedBetween(ZonedDateTime startDate, ZonedDateTime endDate);