Как реализовать поиск в postgresql с Sequelize, в котором будет поиск в ячейке по словам в различном порядке?

Рейтинг: 0Ответов: 0Опубликовано: 07.04.2023

На бэк прилетает variants = ['one', 'two'], по содержимому которой мы должны сделать выборку.

Есть таблица PostgreSQL

id | name | variants
0 | foo | one
1 | bar | two one
2 | foobar | one two

Нужно найти такие строки, в которых будет и 'one' и 'two', не зависимо от порядка.

Пример variants = ['one', 'two'] -> 1,2

Пример variants = ['two', 'one'] -> 1,2

Пример variants = ['one'] -> 0,1,2

Пример variants = ['two'] -> 1,2

Я пробовал

model = await Item.findAndCountAll({
                    where: sequelize.where(sequelize.fn('regexp_split_to_array', sequelize.fn('lower', sequelize.col('variants')), '\\s+'),
                        '@>',
                        variants)})

Но это почему-то не работает от слова совсем

Ответы

Ответов пока нет.