Couchbase редактирование документа с использованием N1QL - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть такие данные в моей Couchbase:

{
“mappings”: {
“/”: “Ana sayfa”
},
“platform”: “WEB”
}

Я хочу преобразовать все данные следующим образом:

{
“/”: {“viewLabel”:“Ana Sayfa”}
“platform”: “WEB”
}

Поэтому я хочу поделиться старой версией:

{
“_class”: “com.commencis.appconnect.adminpanel.data.entity.ScreenNamesMappingEntity”,
“id”: “whitelabel::WEB::screenNamesMapping”,
“mappings”: {
“/”: “Ana sayfa”,
}
}

Я хочу создать новый документ с идентификатором выше:

 ( “id”: “whitelabel::WEB::screenNamesMapping”) 

и удалить старый.

Я хочу создать и преобразовать так:

{
“_class”: “com.commencis.appconnect.adminpanel.data.entity.ScreenNamesMappingEntity”,
“id”: “whitelabel::WEB::screenNamesMapping”,
“mappings”: {
“/”: { “viewLabel”: “Ana sayfa” } ,
}

Мне нужно написать скрипт.Я хочу создать новый документ со связанным идентификатором, затем удалить старый, он может быть многократным N1QL

Я не должен обновлять старые данные, новые данные должны иметь новый ключ, и я должен редактировать новый ключ с помощьюстарый и удалить старый.Мне нужно поступить так.

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете использовать один и тот же идентификатор документа, перезаписав текущий документ, но для обеих сущностей должно быть два хранилища.

oldRepository.findById("myid").ifPresent(e -> {
 NewEntity ne = new NewEntity(e.id(), e.platform()...);
 newRepository.save(ne); });
...