Невозможно запрашивать диапазон дат в репозитории Mongo в Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
 Невозможно запрашивать диапазон дат в репозитории Mongo в Spring Boot

Сообщение Anonymous »

Mongo документ имеет поле Createdon , в котором хранится isodate то есть java.util.date в Mongo Document
Я есть Попытка получить подсчет поля диапазона дат. Когда я даю дату дата от и до от RestClient я получаю счет как 0, за исключением, говоря:
org.bson.json.JsonParseException: JSON reader expected a string but found '?0'.

Ниже приведен запрос Я использую в репозитории
public interface PaymentMongoLogDetailRepository extends MongoRepository
{
@Query(value = "{'$and' : [{'createdOn':{'$gt':ISODate(?0)}},{'createdOn':{'$lte':ISODate(?1)}},{'stripeResponse.sessionId':/cs_live/},{'stripeResponse.status':'success'}]}",count = true)
Long findAllSuccessCounts(String from,String to);
}

держатели размещения? 0 и? 1 для строки из и string до соответственно, который будет иметь формат даты yyyy-mm -dd
Тот же запрос, когда я работаю в Mongo Shell дает мне не нулевые счета.
db.paymentMongoLogDetail.find({'$and' : [{'createdOn':{'$gt':ISODate('2025-01-24')}},{'createdOn':{'$lte':ISODate('2025-02-08')}},{'stripeResponse.sessionId':/cs_live/},{'stripeResponse.status':'success'}]}).count();

выше запрос принесет мне не нулевой счет. >org.bson.json.JsonParseException: JSON reader expected a string but found '?0'.

Что мне следует изменить, чтобы получить точное количество здесь.
Обновление
ниже кода работал для меня < /p>
public interface PaymentMongoLogDetailRepository extends MongoRepository {
@Query(value = "{'$and' : [{'createdOn':{'$gt': ?0,'$lte': ?1}},{'stripeResponse.sessionId':/cs_live/},{'stripeResponse.status':'success'}]}",count = true)
Long findAllSuccessCounts(Date from,Date to);
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... pring-boot

Вернуться в «JAVA»