PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Anhängen (Pushen) und Entfernen aus einem JSON-Array in PostgreSQL 9.5+

Um den Wert hinzuzufügen, verwenden Sie den JSON-Array-Append-Operator (|| )

UPDATE jsontesting
SET jsondata = jsondata || '["newString"]'::jsonb
WHERE id = 7;

Das Entfernen des Werts sieht so aus

UPDATE jsontesting
SET jsondata = jsondata - "newString"
WHERE id = 7; 

Das Verketten zu einem verschachtelten Feld sieht so aus

UPDATE jsontesting
SET jsondata = jsonb_set(
  jsondata::jsonb,
  array['nestedfield'],
  (jsondata->'nestedfield')::jsonb || '["newString"]'::jsonb) 
WHERE id = 7;