首页 > 解决方案 > 选择列值从 Sequelize 中的多个值之一开始的位置

问题描述

我正在尝试选择某个 VARCHAR 列以多个选择之一开头的所有行。我尝试了以下解决方案:

{
  where: {
    [Op.or]: [
      {
        col_name: {
          [Op.startsWith]: 'a'
        },
      },
      {
        col_name: {
          [Op.startsWith]: 'b'
        },
      },
    ]
  }
}

这几乎可以工作,只是由于某种原因 [Op.or] 在原始查询中转换为 AND。

我也试过

{
  where: {
    col_name: {
      [Op.startsWith]: ['a', 'b']
    }
  }
}

它将数组转换为单个字符串'a,b'。

标签: sequelize.js

解决方案


终于找到了,解决方法如下:

where: {
  col_name: {
    [Op.or]: [
      { [Op.startsWith]: 'a' },
      { [Op.startsWith]: 'b' },
    ]
  }
}

推荐阅读