使用Sequelize进行模糊查询时,参考别人的代码,使用$like操作符:constgetArticleList=async(ctx)=>{let{title}=ctx.query,titleFilter=title?{title:{$like:`%${title}%`}}:{}...等待文章。findAndCountAll({where:titleFilter,include:[...],...})...}但是我运行的时候报错:老老实实翻译中文文档改成这样后,就正常了.constSequelize=require('sequelize');constOp=Sequelize.Op;lettitleFilter=title?{title:{[Op.like]:`%${title}%`}}:{}根据文档,Op.like是一个正经的运算符,而$like实际上是一个运算符别名,因为Sequelize允许特定的字符串设置为操作员别名。也就是说$like的正确使用方式是:constOp=Sequelize.Op;constoperatorsAliases={$like:Op.like}constsequelize=newSequelize(db,user,pass,{operatorsAliases})之后,我们可以使用$like代替[Op.like]。完~如有不足之处,请指教,谢谢!
