Я пытаюсь использовать оператор $ in в SequelizeJS, как в случае с MySQL:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
В моем случае я присоединился к трем таблицам, но я не думаю, что это связано с проблемой. Я продолжаю получать эту ошибку. Error: Invalid value { '$in': ['12345','67890','15948'] }
со следующим кодом:
definedTable.findAll({
include: [{
model: definedTableTwo,
where: {
zip_code: {
$in: ['12345','67890','15948']
}
},
required: true,
plain: true
},
{
model: definedTableThree,
required: true,
plain: true
}]
})
Может ли кто-нибудь дать представление о том, как использовать оператор $ in? Единственные примеры, которые я видел, - это целые числа в массиве при поиске идентификаторов.
Просто прочитайте документы здесь Sequelize WHERE
Я бы попробовал:
const Op = Sequelize.Op;
definedTable.findAll({
include: [{
model: definedTableTwo,
where: {
zip_code: {
[Op.in]: ['12345','67890','15948']
}
},
required: true,
plain: true
},
{
model: definedTableThree,
required: true,
plain: true
}]
})
Это помогает?
$in
по существу[Op.in]
.$in
- это псевдоним этого оператора. Я спрашиваю, предоставляю ли я значения в правильном формате. По крайней мере, на это указывает ошибка.$in
НЕ был включен в мой файл, что в итоге и стало проблемой. В основном ошибка пользователя. Я отмечу ваш комментарий как ответ, так как он технически правильный и вывел мою ошибку пользователя. Спасибо