简体   繁体   English

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

[英]How to use iLike operator with Sequelize to make case insensitive queries

I am using Sequelize along with PostgreSQL in managing my database. 我正在使用Sequelize和PostgreSQL来管理我的数据库。
I would like to perform a case insensitive search query. 我想执行不区分大小写的搜索查询。 When I googled it up, some people said that I can use "iLike" operator to do so. 当我搜索它时,有些人说我可以使用“iLike”操作符来这样做。 I tried to implement this way: 我试着这样实现:

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

where genreName is a string. genreName是一个字符串。 But, I keep getting this error: 但是,我一直收到这个错误:

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

Does anyone know the correct way of using iLike with sequelize? 有谁知道使用续集的iLike的正确方法? Thanks mates(s). 谢谢你的队友。 :) :)

You should use Sequelize.Op : 你应该使用Sequelize.Op

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

Don't forget to add % before or after your genreName if you want to make a partial query. 如果要进行部分查询,请不要忘记在genreName之前或之后添加%

See the docs here > 请参阅此处的文档>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM