NikolayAlb
@NikolayAlb

Возможна ли фильтрация по jsonb array (по аналогии с where in)?

Добрый день. Записи в БД хранятся с jsonb полем categories в таком виде:
id |   name  | categories
1  |   car   | [1, 2]
2  |   dog   | [2, 3]
3  |   cat   | [4, 5]


Возможно ли произвести аналог WHERE IN для такого поля? Погуглил и не нашел решения, есть варианты, когда в поле хранится полноценный json, но для массива они не подходят.

Есть оператор @>, но он требует наличие всех предоставленных идентификаторов. Аналог нужной мне операции - && (но данный оператор подходит только для стандартных массивов).
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
Оператор ?| не подходит? https://www.postgresql.org/docs/10/functions-json.html
SELECT '["1", "2"]'::jsonb ?| array['1','5','6'];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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