Saltar al contenido

Agregar (empujar) y eliminar de un JSON array en PostgreSQL 9.5+

Encontramos la solución a esta pregunta, al menos eso creemos. Si continuas con interrogantes déjanoslo saber en un comentario y sin dudarlo te responderemos

Para agregar el valor use el JSON array añadir operador (||)

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

Eliminar el valor se ve así

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

La concatenación a un campo anidado se ve así

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

Para agregar a la respuesta de Evan Carroll, es posible que desee hacer lo siguiente para establecer la columna en un vacío array si esto es NULL. El operador de adición (||) no hace nada si la columna está actualmente NULL.

UPDATE jsontesting SET jsondata = (
    CASE
        WHEN jsondata IS NULL THEN '[]'::JSONB
        ELSE jsondata
    END
) || '["newString"]'::JSONB WHERE id = 7;

Comentarios y calificaciones del artículo

Si eres capaz, tienes la habilidad dejar un post acerca de qué te ha gustado de esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *