spring-data-mongo @Query 在请求日期时不起作用



我正试图以这种方式将@Query与@MongoRepository一起使用:

public interface VisasRepository extends MongoRepository<DomainVisa, Long> {
@Query("{'codeReseau': '?0' , 'debutEffet': { $lte: '?3' } , 'garantie.codeProduit': '?1' , 'garantie.codeCouverture': '?2'}")
List<DomainVisa> filterVisas(String codeReseau, String codeProduit, String codeCouverture, Date date);
}

当我调用filterVisas时,我会收到以下错误:

{
"timestamp": 1584112318752,
"status": 500,
"error": "Internal Server Error",
"message": "JSON reader was expecting ':' but found ' : '.",
"path": "/visas"
}

仅供参考,当我删除'debutEffet': { $lte: '?3' }时,它运行良好。

您必须以mongoDB能够理解的格式格式化日期:

你可以试试:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
sdf.setTimeZone(TimeZone.getTimeZone("CET"));
String dateForMongo = sdf.format(debutEffet);

最新更新