PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:aggiungi la chiave a ogni oggetto di un array JSONB

L'approccio con jsonb_array_elements e jsonb_set era l'idea giusta, ma in qualche modo li hai annidati nel modo sbagliato:

UPDATE myTable SET myColumn = jsonb_set(myColumn, '{A}', (
  SELECT jsonb_agg( element || '{"myArray":[]}' )
  FROM jsonb_array_elements(myColumn -> 'A') element
));

A proposito, se la tua colonna ha già jsonb tipo di dati, non dovresti aver bisogno di cast.