Nó hoạt động tốt:
UPDATE things
SET data =
jsonb_set(data,
'{things,0,moreThings}',
data->'things'->0->'moreThings' || '{ "text": "thing" }',
TRUE
)
WHERE id = 1;
Nếu bạn có một bảng chỉ bao gồm khóa chính và jsonb và bạn thường xuyên muốn thao tác jsonb này trong cơ sở dữ liệu, chắc chắn bạn đang làm sai điều gì đó. Cuộc sống của bạn sẽ dễ dàng hơn nhiều nếu bạn chuẩn hóa dữ liệu hơn.