1

是否有可能使用 spring-data 执行 N1QL 更新查询?

即我有以下更新查询:

"UPDATE USERS USE KEYS $id SET location = $location"

我尝试使用couchbaseTemplate.queryN1QL方法,但它不起作用。

有没有使用spring数据甚至本地couchbase java SDK解决这个问题的方法?

4

2 回答 2

2

CouchbaseTemplate更适合 Spring Data 文档的用例,因此它期望运行返回特定元素的查询,并最终解组为实体(例如User对象)。

如果您想运行更自由的查询,例如您的更新,您可以随时从模板访问本机 SDK。在你的情况下:

String paStatement = "UPDATE USERS USE KEYS $id SET location = $location";
JsonObject paramValues = JsonObject.create().put("id", theId).put("location", "theLocation");
N1qlQuery query = N1qlQuery.parametrized(paStatement, paramValues);
template.getCouchbaseBucket().query(query);
于 2016-03-07T13:27:20.253 回答
0

我认为您可以在声明RETURNING *的末尾添加UPDATE。它会使语句返回一些东西。这个对我有用。

于 2018-03-28T03:33:24.447 回答