PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como obter apenas o jsonb de chaves específicas do postgres?


Você pode filtrar para uma única chave com bastante facilidade assim:
jsonb_object(ARRAY[key, jsonb_data -> key])

...ou você pode filtrar para várias chaves:
(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))

Ou em uma condição mais complexa, se você quiser:
(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != 'null'
)

Esses tipos de perguntas podem ser respondidas com muita facilidade simplesmente lendo a documentação .