You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sequelize.where方法时如何正确配置Op.iLike/like运算符?

Sequelize.where 模糊查询正确实现方案

现有写法的错误是将运算符Op.iLike作为字符串参数传入,导致Sequelize无法识别为操作符,只会当成普通字符串匹配,按以下步骤修改即可:

  • 首先从sequelize中引入操作符对象Op:
const { Op } = require('sequelize');
// 若使用ES module,写法如下
// import { Op } from 'sequelize';
  • 调整Sequelize.where的参数,将运算符直接作为第二个参数传入,不要包裹任何引号:
Sequelize.where(
  Sequelize.col('projectRoles.name'),
  Op.iLike,
  `%${ctx.request.query.filterString}%`
)
  • 如需使用大小写敏感的like运算符,替换上述代码中的Op.iLike为Op.like即可。

上述写法会自动对用户传入的搜索参数做参数化处理,可避免SQL注入风险,无需手动对输入内容做特殊转义。

内容的提问来源于stack exchange,提问作者Andrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:06:07