2016-03-07 42 views
0

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

I.e.我有以下更新查询:

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

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

是否有任何解决方案使用弹簧数据甚至本机couchbase java SDK的这个问题?

回答

1

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);