Javascript 如何将iLike运算符与Sequelize一起使用以进行不区分大小写的查询
我正在使用Sequelize和PostgreSQL管理我的数据库。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是一个字符串。 但是,我一直在犯这样的错误: 错误:无效值{'
我想执行不区分大小写的搜索查询。当我在谷歌上搜索时,有人说我可以使用“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}}})是的,正如我所说的,如果需要,您应该添加%号!很高兴我能提供帮助