Русский
Русский
English
Статистика
Реклама

Упрощенный синтаксис для jsonb в PostgreSQL 14

Как сообщает telegram-канал Cross Join, в репозиторий Postgres упал комит, упрощающий работу с jsonb. Теперь можно обращаться к частям jsonb с помощью квадратных скобок, причем это работает как на чтение, так и на запись.


Прощай jsonb_set и прочие костыли типа data = data - 'a' || '{"a":5}'


Несколько примеров:


Обновляем значение объекта по ключу. 25 здесь является числом, но взято в кавычки, потому что присваиваемое значение должно быть jsonb


-- (person_data имеет тип jsonb)UPDATE users SET person_data['age'] = '25'; 

Обновление работает и с пустыми (null) jsonb.


Фильтруем таблицу по полю name=Pasha. Pasha строка, но тоже записана в форме jsonb: '"Pasha"', поэтому лишние двойные кавычки


SELECT * FROM users WHERE person_data['name'] = '"Pasha"';

Получаем значение объекта по ключу "age"


SELECT ('{"age": 25}'::jsonb)['age'];

Или можно указать длинный путь


SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];

Элемент массива по индексу


SELECT ('[1, "2", null]'::jsonb)[1];

Ну и самое главное: изменения войдут в postgreSQL 14!


Оригинальная идея синтаксиса принадлежит Олегу Бартунову, реализация Дмитрий Долгов

Источник: habr.com
К списку статей
Опубликовано: 01.02.2021 22:18:17
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Разработка веб-сайтов

Postgresql

Программирование

Sql

Jsonb

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru