Javascript 如何将iLike运算符与Sequelize一起使用以进行不区分大小写的查询

Javascript 如何将iLike运算符与Sequelize一起使用以进行不区分大小写的查询,javascript,node.js,postgresql,sequelize.js,case-insensitive,Javascript,Node.js,Postgresql,Sequelize.js,Case Insensitive,我正在使用Sequelize和PostgreSQL管理我的数据库。 我想执行不区分大小写的搜索查询。当我在谷歌上搜索时,有人说我可以使用“iLike”操作符来实现。我试图以这种方式实施: var getRadiosByGenre = function(Radio,Genre,genreName){ Genre.findOne({where:{name: { $iLike: genreName}}})} 其中genreName是一个字符串。 但是,我一直在犯这样的错误: 错误:无效值{'

我正在使用Sequelize和PostgreSQL管理我的数据库。
我想执行不区分大小写的搜索查询。当我在谷歌上搜索时,有人说我可以使用“iLike”操作符来实现。我试图以这种方式实施:

var getRadiosByGenre = function(Radio,Genre,genreName){
    Genre.findOne({where:{name: { $iLike: genreName}}})}
其中genreName是一个字符串。 但是,我一直在犯这样的错误:

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

有人知道在sequelize中使用iLike的正确方法吗?
谢谢各位朋友:)

您应该使用
Sequelize.Op

var getRadiosByGenre = function(Radio,Genre,genreName) {
  Genre.findOne({
    where: {
      name: {
        [Sequelize.Op.iLike]: genreName
      }
    }
  });
}
如果要进行部分查询,请不要忘记在
genreName
之前或之后添加
%


查看文档

谢谢您的参考,但这是如何准确实现它的:var getRadiosByGene=function(Radio,Genre,genreName){Genre.findOne({where:{name:{[Op.iLike]:'%'+genreName}}})是的,正如我所说的,如果需要,您应该添加%号!很高兴我能提供帮助