couchbase - Couchbase 使用 N1QL 编辑文档
问题描述
我的 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的新文档,然后删除旧文档,它可能是多重N1QL
我不应该更新旧数据,新数据应该有新密钥,我应该用旧密钥编辑新密钥并删除旧密钥。我需要这样做。
解决方案
您可以通过覆盖当前文档来使用相同的文档 ID,但是这两个实体应该有两个存储库。
oldRepository.findById("myid").ifPresent(e -> {
NewEntity ne = new NewEntity(e.id(), e.platform()...);
newRepository.save(ne); });
推荐阅读
- apache-nifi - 集群仍在投票决定哪个 Flow 是集群的正确流
- android - 如何编写更好的 switch-case 语句?
- javascript - 获取带有空格的字符串的模态目标属性
- javascript - 如何在 MongoDB 中添加到此集合
- javascript - 将视频从客户端发送到服务器
- python - 将行附加到 pandas DF 会添加 0 列 - 澄清
- c - 1,2,1,3,2,5,3,7,5,11,8,13,13,17... 打印第 N 项
- javascript - Mongoose:如何防止将空值添加到 ObjectId 数组中
- arrays - 如何将切片从数组位置带到数组末尾?
- list - succ 没有在 pred 上被删除