2

以下は、couchbase のサンプル ドキュメント (userdetails) です。

{  "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データを削除できません。

null 値ではなく 空の文字列 ( "lastname" : " " )がある場合、このクエリは適切に機能します。

したがって、パラメーター値のいずれかが「null」の場合、削除する方法

4

1 に答える 1

3

次のように、友人の配列全体を置き換えることができます。

UPDATE default
USE KEYS "userdetails"
SET friends = ARRAY a FOR a IN friends WHEN a.company <> "google" END
RETURNING friends;
于 2016-05-12T15:49:17.363 に答える