N1QL查询以按其定制版本更新数组元素

时间:2019-03-21 09:17:36

标签: couchbase

在发布数据时,我使用了escapeCSV处理额外的逗号,但是数据又增加了一些/”,现在我想使用N1QL更新内容,但是我被卡住了

    "School": [
    {
      "address": "\"257 Shyam Nagar, Indore\"",
      "name": "National Convent"
    }


  Required:-

   "School": [
    {
      "address": "257 Shyam Nagar, Indore",
      "name": "National Convent"
    }

2 个答案:

答案 0 :(得分:1)

使用REPLACE()函数

UPDATE default d 
SET p.address = REPLACE(p.address, "\"","") FOR p IN d.School END 
WHERE ...;

答案 1 :(得分:0)

在导入之前,您需要删除它们,N1QL需要有效的JSON。此外,您还可以使用单引号:

INSERT INTO `test` ( KEY, VALUE ) 
 VALUES 
 ( 
   'mykey2', 
    {
      'type': '"toy',
      "attributes": {
      'material': 'metal"',
      'color': 'red""',
      'weight': '200gr"',
      'height': '5cm',
      'width': '15cm'
    }
}