用$ any代替$ not

时间:2019-02-21 08:41:38

标签: sql postgresql sequelize.js

此查询可以使用续集运算符转换吗?

SELECT 1 FROM users WHERE NOT ('manager' = ANY(roles))

似乎这种查询是不可能的,因为涉及$not$any运算符的所有内容都开始为我抛出错误

2 个答案:

答案 0 :(得分:1)

我知道为时已晚,但也许会对某人有所帮助。

您有两个选择,要么是总计Sequelize,要么添加少量Sql raw where查询。

总续集

Db.users.findAll({
    where: {
        "manager": {
            $notIn: [roles]
        }
    }
 });

原始查询

Db.users.findAll({
    where: Sequelize.literal(`(manager NOT IN (${roles}) )`)
});

答案 1 :(得分:0)

我看到您想从表用户中选择 1个用户。序列化支持功能findOne

users.findOne({ where: {
        "manager": {
            $notIn: [roles]
        }
    }
})
.then(user => {
})
.catch(err =>{
});