N1QL-запрос для обновления элемента массива его адаптированной версией - PullRequest
0 голосов
/ 21 марта 2019

При публикации данных я использовал escapeCSV для обработки лишней запятой, но данные получили некоторую дополнительную / "теперь я хочу обновить содержимое с помощью N1QL, но я застрял

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


  Required:-

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

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Используйте функцию REPLACE ()

UPDATE default d 
SET p.address = REPLACE(p.address, "\"","") FOR p IN d.School END 
WHERE ...;
0 голосов
/ 21 марта 2019

Вам нужно будет удалить их перед импортом, N1QL нужен действительный JSON.Кроме того, вы также можете использовать одинарные кавычки:

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

)

...