#postgresql #jsonb
#postgresql #jsonb
Вопрос:
У меня есть jsonb
объект, из которого я хочу удалить ключи. У меня есть jsonb
массив, содержащий ключи, которые я хочу удалить из объекта. Я вижу документацию по удалению одного ключа, например:
SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb - 'foo'
ВОЗВРАТ {"bar": false, "baz": true}
Но я не вижу никакой документации по одновременному удалению нескольких ключей, скажем, из Postgres или jsonb
массива. Я хотел бы сделать что-то вроде этого псевдокода:
SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb - '["foo", "bar"]'::jsonb
-- I'd like to return {"baz": true}
Как я могу удалить массив ключей из jsonb
объекта?
Ответ №1:
Используйте -
оператор с массивом text
в правой части:
SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb
- '{foo,bar}'::text[];