У меня есть проект Node / Express / Sequelize.
Используя следующий пример из документации, происходит сбой и выдается ошибка SQL на MySQL
Image.findAll({
where: {
image_title: {
[Op.like]: { [Op.any]: ['cat', 'hat']}
}
}
})
Приведенный выше запрос генерирует следующий SQL-запрос в Node / Express:
`Executing (default): SELECT `id`, `story_title`, `image_title`,
`original_filename`, `created_at` AS `createdAt`, `updated_at`
AS `updatedAt` FROM `image`
AS `image`
WHERE `image`.`image_title` LIKE ANY ('cat', 'hat');`
Я ожидал получить список изображений, в котором image_title содержит либо 'cat', либо 'hat'
Вместо этого я получаю консольную ошибку в Chrome, которая гласит:
"У вас ошибка в синтаксисе SQL; обратитесь к руководству,
соответствует вашей версии сервера MySQL для правильного синтаксиса
использовать рядом с '(' cat ',' hat ')' в строке 1 "
И без изображений.
То, что я пытаюсь сделать, это передать массив строк в запрос и вернуть все изображения, где image_title содержит любую из строк в массиве.
Этот пример из документации кажется именно тем, что я ищу, но я не могу заставить его работать даже со статическими строками, используя документированный синтаксис.
Есть ли в этом ошибка, я неправильно понимаю, как это работает, или есть другой способ сделать это?