Я пытаюсь сравнить значение с несколькими полями с помощью Spring-Data-MongoDB 1.10.0, я использую @Query, потому что вложенный документ - это объект с динамическими полями.
Но если яиспользовать тот же идентификатор, что и? 5, во всех условиях, я получил ошибку:
exception="com.mongodb.util.JSONParseException:
{ companyType: "SPONSOR", companyId: 6710890, delivered: false, createdAt: { $gt: { "$date" : "2019-09-01T03:00:00.000Z"}, $lt: { "$date" : "2019-09-26T02:59:59.999Z"} }, $or:[ {requestPayload.sponsorGovernmentId: "73068519000185"}, {requestPayload.buyerGovernmentId: "73068519000185"5} ] }
Я пытаюсь так:
@Query(value = "{ companyType: ?0, companyId: ?1, delivered: ?2, " +
"createdAt: { $gt: ?3, $lt: ?4 }, $or:[ {requestPayload.sponsorGovernmentId: ?5}, {requestPayload.buyerGovernmentId: ?5} ] }")
Page<WebHookDelivery> findByCompanyTypeAndCompanyIdAndDeliveredAndCreatedAtIsBetweenAndAnyKey(String companyType,
Integer companyId,
Boolean delivered,
Date createdAtStart,
Date createdAtEnd,
String governmentId,
Pageable pageable);
Я пробовал только с? и [5].
Возможно ли и кто-нибудь объяснить, как это сделать?