如何在Sequelize中使用iLike运算符进行不区分大小写的查询

Ahm*_*rib 4 javascript postgresql case-insensitive node.js sequelize.js

我在管理数据库时将Sequelize与PostgreSQL一起使用。
我想执行不区分大小写的搜索查询。当我用Google搜索它时,有人说我可以使用“ iLike”运算符来实现。我试图以这种方式实现:

var getRadiosByGenre = function(Radio,Genre,genreName){
    Genre.findOne({where:{name: { $iLike: genreName}}})}
Run Code Online (Sandbox Code Playgroud)

genreName是一个字符串。但是,我不断收到此错误:

错误:无效值{'$ iLike':'art'}

有谁知道将iLike与sequ​​elize一起使用的正确方法?谢谢队友。:)

Phi*_*ach 8

您应该使用Sequelize.Op

var getRadiosByGenre = function(Radio,Genre,genreName) {
  Genre.findOne({
    where: {
      name: {
        [Sequelize.Op.iLike]: genreName
      }
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

如果要进行部分查询%,请不要忘记在您之前或之后添加genreName

这里查看文档>

  • 是的,正如我所说,如果需要,您应该添加%号!很高兴我能帮上忙 (2认同)