Для приложения для создания заметок у меня есть следующий документ json в моей схеме PostgreSQL:
postgres=# select id, data from notes where id=107;
id | data
-----+-----------------------------------------------------------------
107 | {"tag": "sample tag", "title": "sample title", "content": "sample title\n\nsample text"}
, чтобы иметь возможность использовать несколько тегов в будущем, я хочу преобразовать каждую существующую запись в моей базе данныхиз приведенного выше, чтобы быть в массиве, как это: "tag": ["sample tag"]
Я провел некоторое исследование и, играя вокруг, я стал немного ближе с чем-то вроде:
UPDATE notes SET data = jsonb_set(data, '{tag}', $$["sample tag", "xyz"]$$);
, который фактически обновляетстрока от "tag": "sample tag"
до "tag": ["sample tag", "xyz"]
, но я хочу, чтобы это динамически проходило через все мои записи с существующими тегами.Я не мог найти способ запустить что-то вроде подзапроса в части jsonb_set
.