node.js - 将 Where 和 $or 与 findOne 方法一起使用

标签 node.js express sequelize.js

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/

相关文章:

postgresql - 如何在 Sequelize 中翻译以下 PostgreSQL 查询?

node.js - 用于处理来自phonegap ft.upload 的传入请求的node.js 服务器端代码是什么?

javascript - 导出时nodejs变量未定义

php - 如何在 Node.js 中完成以下 PHP 脚本。

express - 在 Travis CI 上运行 Redis

mysql - Sequelize 和 Node v0.6.1

node.js - NodeJS/ExpressJS 上的 Sequelize 在运行 CLI 命令 db :migrate 时返回错误

javascript - MongoDB:更新所有文档中的字符串字段

node.js - 通过 crontab 启动后退出脚本

javascript - 如何在 app.on ("before-quit"中使用 shutdown.bat 停止 Tomcat?