¿Existe un enfoque puro de Postgres para convertir una matriz JSONB como:
[{"id": 1, "name": "Dom" }, { "id": 2, "name": "Bass" }]
en
{ 1: {"id": 1, "name": "Dom" }, 2: { "id": 2, "name": "Bass" } }
Es decir, lo mismo que Lodash haciendo:
_.keyBy(arr, 'id)
Usa la función:
create or replace function jsonb_key_by(jsonb, text) returns jsonb language sql immutable as $$ select jsonb_object_agg(elem->>$2, elem) from jsonb_array_elements($1) as arr(elem) $$;Pruébelo en db<>fiddle.