Задать вопрос
Palych_tw
@Palych_tw
Типа веб-разработчик

Как добавить данные в JSON колонку в БД без SELECT'a?

Всем привет. Есть таблица с колонкой data с типом jsonb. Там хранится, например, массив messages с сообщениями в диалоге. Возможно ли добавлять новое сообщение в массив data->messages без необходимости сначала вытащить весь диалог, добавить в конец массива новое сообщение и обратно записать в БД? Или это не реализуемо самой СУБД?

СУБД PostgreSQL
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Раз возникла такая проблема, это повод задуматься о правильности выбора структуры БД, конкретно о том стоит ли так хранить messages. Но в любом случае PostgreSQL изначально по задумке сделан так что обновление поля это всегда его полная перезапись, таким образом вам в любом случае нужно прочитать оттуда чтобы не потерять предыдущие записи.
Ну и все же есть рекомендации по использованию этого типа JSON в постгресе, вы уверены что ваша реализация следует им?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы