Java Spring数据MongoDB日期字段无法用于查询或聚合
Spring启动存储库类:Java Spring数据MongoDB日期字段无法用于查询或聚合,java,spring,mongodb,spring-boot,date,Java,Spring,Mongodb,Spring Boot,Date,Spring启动存储库类: @Query("{ 'dob' : { $gt: ?0 } }") List<Brokers> findByDobLessThan(Date from); 这是mongo数据库中不同格式的数据。 MongoDb数据: { "dob" : ISODate("1986-02-10T00:00:00.000Z"), "dow" : ISODate("2011-02-10T00:00:00.000Z"), "creditLimit" :
@Query("{ 'dob' : { $gt: ?0 } }")
List<Brokers> findByDobLessThan(Date from);
这是mongo数据库中不同格式的数据。
MongoDb数据:
{
"dob" : ISODate("1986-02-10T00:00:00.000Z"),
"dow" : ISODate("2011-02-10T00:00:00.000Z"),
"creditLimit" : 0,
"adjustBills" : "NONE",
"contactRelation" : "NILL",
"occupation" : "TYRE RETRADING",
"age" : 0,
"caste" : "Nill",
"gender" : "MALE",
"createdDt" : ISODate("2020-04-03T11:54:14.900Z"),
"updatedDt" : ISODate("2020-04-03T11:54:14.901Z"),
"ownrent" : "TRUE",
"simbrand" : "AIRTELL"
}
我的调查结果:
我发现Java正在将日期转换为长(时间)并传递到数据库,所以数据库无法识别,因为它的格式不同
我使用的是Java 1.8、Spring Boot 2.2.6.RELEASE、Spring Boot starter data mongodb。您传递给您的
findByDobLessThan(date from)
query的输入日期是多少?请阅读-总结是,这不是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。您传递给您的findByDobLessThan(date from)
查询的日期输入是什么?请阅读-总结是,这不是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。
{
"dob" : ISODate("1986-02-10T00:00:00.000Z"),
"dow" : ISODate("2011-02-10T00:00:00.000Z"),
"creditLimit" : 0,
"adjustBills" : "NONE",
"contactRelation" : "NILL",
"occupation" : "TYRE RETRADING",
"age" : 0,
"caste" : "Nill",
"gender" : "MALE",
"createdDt" : ISODate("2020-04-03T11:54:14.900Z"),
"updatedDt" : ISODate("2020-04-03T11:54:14.901Z"),
"ownrent" : "TRUE",
"simbrand" : "AIRTELL"
}