Обновить вложенное свойство в поле JSONB в PostgreSQL - PullRequest
1 голос
/ 20 апреля 2020

У меня есть такая структура данных:

  • id bigint
  • articles jsonb

Пример:

id: 1,
articles: {
  "1": {
    "title": "foo"
  },
  "2": {
    "title": "bar"
  }
}

Я хочу изменить имя поля на title (например, articleTitle). Есть ли какой-нибудь простой способ сделать это?

Редактировать: я могу сделать это с помощью замены строки, но могу ли я сделать это, работая на jsonb? Как использовать jsonb_set()?

UPDATE person 
SET articles = replace(articles::TEXT,'"title":','"articleTitle":')::jsonb
...