POSTGRES проверяет, присутствует ли указанное значение в столбце типа array - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь проверить, есть ли значение, если оно присутствует в столбце, которое имеет тип array (column_name text []). В качестве сервера я использую хапи и пытаюсь проверить то же самое из хапи через запрос.

Написанный мною запрос (запрос не работает):

where: { column_name: { $in: { provided_value} }}

Столбец содержитзначения как:

{1234, 3456}

Значения имеют тип text.

Может кто-нибудь, пожалуйста, помогите мне определить проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 октября 2019

Sequelize не поддерживает это использование ANY, они, кажется, поддерживают только его использование как IN. Вместо этого вы должны попробовать оператор содержимого (@>):

import {Op} from "sequelize";

MyModel.findAll({
  where: {
    column_name: {
      [Op.contains]: [provided_value]
    }
  }
});

Это сгенерирует что-то вроде

SELECT * FROM "MyModel" WHERE column_name @> '{"provided_value"}';
...