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

How to use iLike operator with Sequelize to make case insensitive queries

我正在使用 Sequelize 和 PostgreSQL 来管理我的数据库。
我想执行不区分大小写的搜索查询。当我用谷歌搜索时,有人说我可以使用 "iLike" 运算符来做到这一点。我试过这样实现:

var getRadiosByGenre = function(Radio,Genre,genreName){
    Genre.findOne({where:{name: { $iLike: genreName}}})}

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

Error: Invalid value { '$iLike': 'art' }

有谁知道在sequelize中使用iLike的正确方法吗? 谢谢队友。 :)

你应该使用 Sequelize.Op :

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

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

查看文档 here >