如何在Couchbase中添加键值,该值是从文档中已经存在的键值派生的

机器人

我在couchbase中有一个json文档,其结构如下所示

"root": {
          "type": "TEST",
          "parameters": {
            "numbers": [
              "1",
              "2-001",
              "3",
              "2-001",
              "5-002"
           ] 
          }
        }

我需要添加一个新的键值对,并使文档看起来像这样

"root": {
          "type": "TEST",
          "parameters": {
            "numbers": [
              "1",
              "2-001",
              "3",
              "2-001",
              "5-002"
           ],
          "unique": [
              "1",
              "2",  
              "3",
              "5"
          ] 
         }
        }

我应该删除-之后的所有内容,然后选择其中包含的唯一元素。

马修·格罗夫斯(Matthew Groves)

如果要使用N1QL进行此操作,可以将ARRAY转换与结合使用ARRAY_DISTINCT转换将取决于您。您可以使用REGEXP_函数之一或类似的简单函数SPLIT例如:

select ARRAY_DISTINCT(ARRAY SPLIT(v,"-")[0] FOR v IN d.root.parameters.numbers END) as `unique`, d.root.parameters.numbers
from mybucket d;

这将以以下形式返回文档:

[
  {
    "numbers": [
      "1",
      "2-001",
      "3",
      "2-001",
      "5-002"
    ],
    "unique": [
      "1",
      "2",
      "3",
      "5"
    ]
  }
]

如果你想真正做出改变的文件(S),你就可以说SELECTUPDATE

UPDATE mybucket
SET root.`unique` = ARRAY_DISTINCT(ARRAY SPLIT(v,"-")[0] FOR v IN root.parameters.numbers END)
where root.`unique` is missing;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JSON中添加特定的键值

来自分类Dev

如果使用TypeScript在数组中已经存在键值,如何通过onclick增加键值?

来自分类Dev

如何在JavaScript中向数组添加新对象(键值对)?

来自分类Dev

如何在已声明的JSON对象中添加键值对

来自分类Dev

如何在Azure密钥保管库中添加键值?

来自分类Dev

如何在JavaScript对象中添加新的键值对

来自分类Dev

如何在Kotlin对象中动态添加键值对?

来自分类Dev

如何在Rails循环内操纵键值对中的值?

来自分类Dev

如何在MongoDB中查询对象的值而不是键值对

来自分类Dev

如何在 JavaScript 中获取 JSON 的键值对之一的值?

来自分类Dev

如何在Fauna DB中创建索引,该索引返回键值对中的排序数据

来自分类Dev

如何从URL的哈希值中检索键值对

来自分类Dev

如何从URL的哈希值中检索键值对

来自分类Dev

如何在Prolog中编写键值对?

来自分类Dev

如何在哈希中获取最小键值对

来自分类Dev

如何在Redis中更新多个键值对

来自分类Dev

如何在jsonb postgresql中访问键值?

来自分类Dev

如何在Talend中从CSV提取键值

来自分类Dev

如何在Excel 2010中获取键值对

来自分类Dev

如何在多数组中创建键值?

来自分类Dev

如何获取键值数组中的键值

来自分类Dev

如果 shell 环境中存在键,如何替换键值文件中的值?

来自分类Dev

在PHP数组中添加键值?

来自分类Dev

在Java hashMap中添加键值对

来自分类Dev

在程序选项中添加键值对

来自分类Dev

在Java hashMap中添加键值对

来自分类Dev

在程序选项中添加键值对

来自分类Dev

在 Javascript 对象中添加键值对

来自分类Dev

如何在字典中添加键值对以在python中以JSON格式转储数据?

Related 相关文章

热门标签

归档