【问题标题】:Couchbase editing document using N1QLCouchbase 使用 N1QL 编辑文档
【发布时间】:2019-02-28 12:55:50
【问题描述】:

我的 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 的新文档:

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

并删除旧的。

我想这样创建和转换:

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

我需要编写脚本。我想用相关的id创建新文档,然后删除旧的,它可能是multipe N1QL

我不应该更新旧数据,新数据应该有新密钥,我应该用旧密钥编辑新密钥并删除旧密钥。我需要这样做。

【问题讨论】:

  • 您能重新格式化您的代码和问题吗?我无法清楚地理解您要完成的工作。

标签: couchbase n1ql spring-data-couchbase


【解决方案1】:

您可以通过覆盖当前文档来使用相同的文档 ID,但两个实体应该有两个存储库。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2019-05-07
    相关资源
    最近更新 更多