我正在尝试以这种方式将 @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);
关于java - spring-data-mongo @Query 在请求日期时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60673126/