gpt4 book ai didi

node.js - Sequelize 是所有这些使用 OR 运算符的正确方法吗?

转载 作者:行者123 更新时间:2023-11-29 13:12:57 25 4
gpt4 key购买 nike

我见过人们使用 OR 运算符的 3 种方式...

where: { $or : [ {attr:val}, {attr:val}] } 

--

where: { $or : { attr:val, attr:val} } 

--

where: { attr: { $or: [val, val] } }

这些都有效吗?有什么问题吗?

最佳答案

我可能是错的,我不打算投赞成票。

最好使用 official documentation 中的示例.

并启用logging mode (see logging param)查看特定查询会发生什么


但我会尝试给出一些想法。

我更喜欢这个 - 因为它更具可读性:

where: { $or : [ {attr:val1, some: val3}, {attr:val2} ] } 

... WHERE ((attr = val1 AND some = val3) OR (attr = val2))


这个我分不清拿哪个值来比较。因为它不是一个数组,所以我猜它会使用最后一个定义并且因为没有其他字段来构建查询它不会使用 OR

where: { $or : { attr: val1, attr: val2} } 

... WHERE attr = val2   

额外的:

where: { 
user_id: 5,
$or : { attr: val1, attr: val2}
}

... WHERE user_id = 5 OR attr = val2  


第三个有点模棱两可,我建议使用$in

where: { attr: { $in: [val1, val2] } }

... WHERE attr IN (val1, val2)

关于node.js - Sequelize 是所有这些使用 OR 运算符的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52583338/

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