:Spring数据能够在两个日期之间获取数据,但不能在同一日期的不同时间获取相同的日期

时间:2018-02-07 15:26:55

标签: mongodb date-range

使用以下内容在mongo shell中正确获取10秒时间范围内的记录提取查询:

db.getCollection('collection-name').find({"@timestamp":{"$gte": ISODate("2018-02-07T01:51:45.005Z"),"$lt": ISODate("2018-02-07T01:51:55.005Z")}});

但是在spring-data-mongodb中我无法使用以下方法获取数据。我无法在ISODate("String value")注释或mongo查询条件中定义new Date("String value")@Query

方法1:Mongo Repository&查询

@Query("{'@timestamp' :{'$gte':?0, '$lt':?1}}")
public List<collection-name> findByTimestamp( Date date,Date newdate);

方法2:将Mongo Query与条件

一起使用
Query query = new Query();
query.addCriteria(Criteria.where("@timestamp").gte( date).lt(newdate));

其中日期和新日期字段为:

DateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS\'Z\'");
Date date = df.parse("2018-02-07T01:51:45.005Z");
Date newdate = df.parse("2018-02-07T01:51:55.005Z");

0 个答案:

没有答案