javascript - 如何在 SequelizeJS 中使用 $in 运算符?

标签 javascript mysql node.js sequelize.js in-operator

我正在尝试像在 MySQL 语句中那样在 SequelizeJS 中使用 $in 运算符:

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 运算符的见解吗?我见过的唯一示例是在搜索 ID 时在数组中使用整数。

最佳答案

只需阅读此处的文档 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
  }]
})

这有帮助吗?

关于javascript - 如何在 SequelizeJS 中使用 $in 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700623/

相关文章:

php - 将时间戳添加到 SQL 查询中

javascript - 使用 Crypto Node.js 获取错误 "data too large for key size"

node.js - 使用 Google App Engine 对私有(private)模块进行 NPM 身份验证

node.js - HTTP2 的 Express 类型

javascript - 我应该在列表页面上的过滤器之前添加跳过链接吗?

javascript - JS如何将window.error中的Error对象转成string?

MySQL IF Case Exists 检查用户是否已附加

javascript - 变量 isConnected 未更改

javascript - 如何使 Bootstrap 轮播正确缩放?

javascript - 创建基于文本的游戏的更好方法