Spring-Boot Repository class:
@Query("{ 'dob' : { $gt: ?0 } }")
List<Brokers> findByDobLessThan(Date from);
Генерируемый журнал:
find using query: { "dob" : { "$gt" : { "$date" : 1585918200956}}} fields: Document{{}} for class:
class com.kallam.middleware.model.broker.Brokers in collection: brokers
Это данные в mon go базе данных в другом формате. Данные 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 преобразует дату в long (время) и передает ее в базу данных, поэтому база данных не может распознать, потому что она находится в другом формат.
Я использую Java 1.8, Spring Boot 2.2.6.RELEASE, spring-boot-starter-data-mongodb.