我想通过邮箱搜索用户。有没有办法忽略大小写搜索用户?如果数据库中的用户有邮箱abc@gmail.com,那么即使我给where{email:ABc@gmail.com}},也应该能找到用户。当前查询
abc@gmail.com
where{email:ABc@gmail.com}}
User.findOne({ where: { email }, include: [...eagerModels] });
cvxl0en21#
尝试使用Op.iLike:
Op.iLike
User.findOne({ where: { email: { [Op.iLike]: email } }, include: [...eagerModels] });
ygya80vv2#
使用%like%查询,Sequelize默认使用Symbol操作符,以最小化在查询中注入操作符的风险;建议以后使用符号运算符。
%like%
const Sequelize = require('sequelize'); const Op = Sequelize.Op; let data = await User.findAll({ where: { name: { [Op.like]: '%abc@gmail.com%' } } });
thtygnil3#
用这个
User.findOne({ where: { email: { [Op.iLike]: `%${email}%` } }, include: [...eagerModels] });
参考文献
3条答案
按热度按时间cvxl0en21#
尝试使用
Op.iLike
:ygya80vv2#
使用
%like%
查询,Sequelize默认使用Symbol操作符,以最小化在查询中注入操作符的风险;建议以后使用符号运算符。thtygnil3#
用这个
参考文献