2016-03-07 7 views
0

Есть ли возможность выполнить запрос обновления N1QL с использованием весенних данных?Spring-data-couchbase - текущий запрос на обновление

I.e. У меня следующий запрос обновления:

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

Я пытался использовать couchbaseTemplate.queryN1QL метод, но он не работает.

Есть ли какое-либо решение этой проблемы с использованием данных весны или даже родной couchbase java SDK?

ответ

1

CouchbaseTemplate больше подходит для использования в документе Spring Data document, поэтому он ожидает выполнения запросов, которые возвращают определенные элементы, и в конечном итоге будут немаркированы в объекты (например, объект 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); 
Смежные вопросы