如何在Node.js中使用Sequelize运行AND和Or运算符

时间:2019-05-11 00:11:03

标签: node.js sequelize.js sequelize-cli

我是Node.js的新手,正在尝试在Sequelize中运行'And'和'OR'运算符,MySQL查询就是这个

SELECT * from User WHERE (role = 'INSTRUCTOR') AND ((pix <> null) OR (description <> null)) OEDER BY id DESC

上面的MySQL查询是我想与Sequelize一起运行的,但是它没有用。

下面是我的Sequelize代码:

return await models.User.findAll({
        where: {role: 'INSTRUCTOR'}, [Op.or]: [{pix: {[Op.ne]: null}}, {description: {[Op.ne]: null,}}], order: [['id', 'DESC']]
      })

如何在Sequelize中运行该查询?

1 个答案:

答案 0 :(得分:0)

格式化代码有时可以帮助... 似乎您放错了}

return await models.User.findAll({
        where: {
            role: { [Op.eq]: 'INSTRUCTOR' },
            [Op.or]: [
                 { pix: { [Op.ne]: null} }, 
                 { description: { [Op.ne]: null } }
            ]
        }, 
        order: [ ['id', 'DESC'] ]
      })