return options.model.findOne({
// $or: [{id: req.params.id}, {key: req.params.id}],
where: {id: req.params.id},
})
我试图让 $or 正常工作,并且在大多数情况下它确实如此。但是,如果我传入一个假值(一个在我的数据库中不存在的值), $or 仍然返回一个值,而 where 则没有。
我看着 http://docs.sequelizejs.com/en/latest/docs/querying/
尽管它确实没有为 $or 运算符提供太多帮助。有没有人经历过这个并且知道一个好的解决方法?
最佳答案
好的,通过一些搜索,我能够找到这个答案。 Sequelize OR condition object
对我来说,我发现语法有点困惑。无论如何,您可以像这样嵌套 $or。
where: {
$or: [
{id: {$eq: req.params.id}},
{key: {$eq: req.params.id}}
]
}
关于node.js - 将 Where 和 $or 与 findOne 方法一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40812367/