gpt4 book ai didi

reactjs - Sequelize Op.like 和 Op.or 失败

转载 作者:行者123 更新时间:2023-12-03 22:33:07 26 4
gpt4 key购买 nike

我对 Sequelize 有这个问题:
我正在尝试进行 3 参数研究,如果其中一个参数为空,则不应考虑该参数。

const users = await User.findAll({
where: {
category: { [Op.like]: `%${req.query.category}%` },
location: { [Op.like]: `%${req.query.location}%` },
[Op.or]: [
{ job: { [Op.like]: `%${req.query.job}%` } },
{ bio: { [Op.like]: `%${req.query.job}%` } },
{ skills: { [Op.like]: `%${req.query.job}%` } },
],
},
attributes: { exclude: ['password', 'createdAt', 'updatedAt'] },
})
我发现 [Op.like] 在任何地方都不起作用。
它仅在参数为空时才有效(阻止该参数过滤用户,这是我喜欢的)。
当我对示例有效负载 {category:'Information Technology', job:'frontend web dev', location:'Sydn'} 进行研究时,它会记录在进程日志中:
Executing (default): SELECT `id`, `email`, `firstName`, `lastName`, `image`, `location`, `phone`,
`website`, `availability`, `category`, `job`, `skills`, `bio` FROM `Users` AS `User`
WHERE (`User`.`job` LIKE '%frontend web dev%' OR `User`.`bio` LIKE '%frontend web dev%' OR
`User`.`skills` LIKE '%frontend web dev%') AND `User`.`category` LIKE '%Information Technology%'
AND `User`.`location` LIKE '%Sydn%';
但没有找到用户。 (是的,在数据​​库中我有类似参数的用户)

最佳答案

我认为它应该看起来更像这样:

category: { [Op.like]: '%`${req.query.category}%`' },
我在这里做的是添加单引号 ' 。引用 documentation
如果这有帮助,你可以试试吗?

关于reactjs - Sequelize Op.like 和 Op.or 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64863539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com