Я пытаюсь создать запрос, подобный этому:
SELECT * FROM webHookDelivery
WHERE companyType = 'SPONSOR'
AND companyId = 6710890
AND eventType = 'CustodyResponseItemEvent'
AND delivered = false
AND (requestPayload.sponsorGovernmentId = '1234' OR requestPayload.invoiceNumber = '82899')
ORDER BY createdAt DESC
С аннотацией Spring-Data-MongoDB @Query, но не работает, а также параметры являются необязательными.
Я пробовал много разных запросов, последний из них:
@Query(value = "{ 'companyType': ?0, 'companyId': ?1, 'eventType': ?2, 'delivered': ?3, '$or':[ {'requestPayload.sponsorGovernmentId': ?4}, {'requestPayload.invoiceNumber': ?5} ]}")
Если я передам неверный идентификатор спонсора и правильный номер счета-фактуры, запрос должен дать мне результаты.
Может кто-нибудь объяснить, что я делаю не так?