Поле JSONB
Поле JSONB (помечено как jsonb в интерфейсе) используется для хранения неструктурированных или полуструктурированных наборов данных, таких как объекты {...} или массивы [...].
В отличие от стандартного текстового поля, это поле использует формат JSONB (Binary JSON). Это означает, что база данных проверяет, является ли ввод допустимым JSON перед сохранением, и хранит данные в разложенном бинарном формате, позволяющем эффективное индексирование и запросы к определённым ключам в структуре.
Свойства конфигурации
Заголовок раздела «Свойства конфигурации»При настройке поля JSON в правой боковой панели доступны следующие настройки:
- Имя: Уникальный системный идентификатор поля (например,
metadata,settings,api_response). - Значение по умолчанию: Допустимый JSON-объект или массив для присвоения, если данные не предоставлены (например,
{"theme": "dark"}или[]). - Описание: Необязательное текстовое поле для описания схемы или назначения JSON-данных.
- Обязательное: Если включено, запись не может быть сохранена без предоставления допустимых JSON-данных.
- Уникальное: Если включено, гарантирует, что никакие две записи не имеют точно такой же структуры и содержимого JSON.
Совет: Почему JSONB? Мы используем тип данных JSONB вместо стандартного JSON. Хотя запись немного медленнее, JSONB значительно быстрее при запросах. Он поддерживает индексирование (GIN), что позволяет выполнять высокопроизводительный поиск и фильтрацию непосредственно по ключам и значениям в JSON-объекте.
Типичные случаи использования
Заголовок раздела «Типичные случаи использования»- Конфигурация/Настройки: Хранение пользовательских предпочтений, которые могут часто меняться.
- Данные внешних API: Хранение сырых ответов от сторонних интеграций.
- Динамические атрибуты: Детали продукта, которые сильно различаются между категориями.
- Списки: Хранение простых массивов строк или чисел.