我怎样才能把用弹簧@Query注释变量n1ql查询?

问题描述 投票:3回答:1

我有以下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文件中指定的值。

spring repository couchbase n1ql spring-data-couchbase
1个回答
1
投票

您可以使用该标准SPEL语法:

@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and companyId = $2 and $1 within #{#n1ql.bucket}")
BusinessUnity findByAreaRefId(String areaRefId, String companyId);
© www.soinside.com 2019 - 2024. All rights reserved.