2017-07-05 12 views
2

から値を削除し、削除する方法はあります/ネストされたJSONのキーオブジェクト(ない配列) は、例えば更新し、次のJSON:Postgresqlの - 更新またはネストされたjsonb要素

{ 
    "top": { 
    "nested": { 
     "leaf": 1 
    } 
    } 
} 

どのように私は削除します/リーフ要素を更新しますか? documentationから

SELECT jsonb '{"top": {"nested": {"leaf" : 1}}}' #- '{top,nested,leaf}'; 
┌─────────────────────────┐ 
│  ?column?   │ 
├─────────────────────────┤ 
│ {"top": {"nested": {}}} │ 
└─────────────────────────┘ 
(1 row) 

は私が

SELECT jsonb '{"top": {"nested": {"leaf" : 1}}' - '{top,nested,leaf}'

しかし

答えて

5

あなたは#-オペレータ、ない-を使用する必要がありません運を試してみました

  • -(引数はtextです):左のオペランドからキー/値ペアまたは文字列要素を削除します。キーと値のペアは、キー値に基づいて照合されます。
  • -int引数を指定):指定されたインデックス(最後から負の整数)を持つ配列要素を削除します。最上位コンテナが配列でない場合はエラーをスローします。
  • #-:いい、OOH(JSONアレイに対して、負の整数は末尾から数える)指定されたパスと
+3

をフィールドまたは要素を削除します。ありがとう – LiorH

関連する問題