我有一张桌子:
CREATE TABLE movies( id text, data jsonb );
INSERT INTO movies(id, data) VALUES (
'1',
{
"actors": [
{
"name": "actor1",
"email": "actor1@somemail.com"
},
{
"name": "actor2",
"email": "actor2@somemail.com"
}
]
}
);
我想要的是从actors数组的每个json对象中删除电子邮件字段(键+值)。
我尝试了以下解决方案,虽然它确实执行了,但它对数组根本没有任何影响:
update movies
set data = jsonb_set(data, '{actors}', (data->'actors') - '{actors, email}')
where id = '1';