我正在尝试创建这样的查询:
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} ]}")
如果我传递了不正确的SponsorGovernmentId和正确的发票编号,则查询应给我结果。
有人可以解释我在做什么错吗?