Отфильтровать вложенные объекты из jsonb, используя postgres - PullRequest
0 голосов
/ 23 января 2019

Мне нужно отфильтровать некоторые jsonb, используя запрос postgres. Я знаю, что в postgres есть оператор #, который использует индексы массива для того же.

Имея вложенный объект jsonb, я пытаюсь удалить поле адреса из всех объектов массива. Я знаю, что с помощью данного запроса я могу удалить поле «адрес» только из одного индекса массива, и мой запрос не будет соответствовать ожидаемому результату. Какие изменения я должен сделать, чтобы получить ожидаемый результат?

SELECT  '{"org":[{"company":[{"Name":"Microsoft","address":{"City":"Bangalore","PIN":"560034"}},{"Name":"Google","address":{"City":"Bangalore","PIN":"560056"}}]}]}'  #- '{org,0,company,1,address}'

Ожидается -

{"org":[{"company":[{"Name": "Microsoft"},{"Name": "Google"}]}]}

Фактический -

{"org":[{"company":[{"Name": "Microsoft","address":{"PIN": "560034","City": "Bangalore"}},{"Name": "Google"}]}]}
...