Как использовать оператор $ in с SequelizeJS?

0

Я пытаюсь использовать оператор $ 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.js
in-operator

1 ответ

0
Лучший ответ

Просто прочитайте документы здесь 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
  }]
})

Это помогает?

  • 0
    Привет @pierreaurelemartin, $in по существу [Op.in] . $in - это псевдоним этого оператора. Я спрашиваю, предоставляю ли я значения в правильном формате. По крайней мере, на это указывает ошибка.
  • 1
    Я только что понял, что псевдоним $in НЕ был включен в мой файл, что в итоге и стало проблемой. В основном ошибка пользователя. Я отмечу ваш комментарий как ответ, так как он технически правильный и вывел мою ошибку пользователя. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню