Sequelize找到这个OR那个

时间:2015-01-06 05:17:15

标签: postgresql sequelize.js

我尝试使用Sequelize执行find,返回与usernameemail匹配的记录。一次通话可以做到这一点吗?我有类似的东西:

User.find({
  where: { 
    username: "bryan", 
    email: "bryan@foo.com"
  }
}).then(...)

但这有username AND email;我需要username OR email来匹配。

我可以轻松地在2个DB调用中执行此操作,但是可以在1中进行吗?

文档在这里:Sequelize find

2 个答案:

答案 0 :(得分:1)

User.find({
  where: Sequelize.or({ username: 'bryan' }, { email: 'bryan@foo.com' })
});

http://sequelize.readthedocs.org/en/latest/api/sequelize/#orargs-sequelizeor

答案 1 :(得分:0)

我仍然不知道它是否内置于Sequelize中,但是老旧的SQL可以解决这个问题:

User.find({
  where: ["username = ? OR email = ?", "bryan", "bryan@foo.com"]
}).then(...)

打开以标记正确的答案,并通过Sequelize语法显示它。