我有以下N1QL查询:
UPDATE `bucket`
SET b.terms.min_due.`value` = "12345" FOR b IN balances END
WHERE entry_id = "12345"
我想将其放在@Query注释库的方法,但对于value
和entry_id值必须是可变的。
他们对于只更新部分文档补丁操作。我已经通过@Query使用内联N1ql做到这一点,所以它是我试过的唯一的事情。
@Query(UPDATE `bucket` SET b.terms.min_due.`value` = "12345" FOR b IN balances END WHERE entry_id = "12345")
<T> Mono<T> patch(T Aggregate);
我想构建替代“12345”为value
存储库方法,并从总拉着值entry_id,然后执行N1ql查询,更新仅在语句而不是整个couchbase文件中指定的值。
您可以使用该标准SPEL语法:
@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and companyId = $2 and $1 within #{#n1ql.bucket}")
BusinessUnity findByAreaRefId(String areaRefId, String companyId);