Запрос n1ql для удаления данных из массива, имеющего значение параметра null

Ниже приведен образец документа (подробные сведения о пользователе) в couchbase.

{  "friends":[  
  {  
     "company":"microsoft",
     "firstname":"criss",
     "lastname":"angel"
  },
  {  
     "company":"google",
     "firstname":"captain",
     "lastname":null
  }  ] }

на основе названия компании я хочу удалить соответствующий документ json из массива.

запрос n1ql

update default use keys "userdetails" set friends=array_remove(friends,a) for a in friends when a.company="google" end returning friends

Я не могу удалить данные json с помощью указанного выше запроса.

Этот запрос работает правильно, если у нас есть пустая строка ("lastname": ""), а не нулевое значение.

Итак, как удалить, если какое-либо значение параметра равно "null"


person ravindar    schedule 12.05.2016    source источник


Ответы (1)


Вы можете заменить весь массив друзей следующим образом:

UPDATE default
USE KEYS "userdetails"
SET friends = ARRAY a FOR a IN friends WHEN a.company <> "google" END
RETURNING friends;
person geraldss    schedule 12.05.2016