sequelize.js - 如何在 Sequelize 中找到分割结果大于某个数量的地方?

标签 sequelize.js

我有 2 列: laststrike 。我想找到 last / strike 大于 10 的所有结果。我可以写一个原始查询,但我想看看我是否可以用 Sequelize 的方式来完成。

最佳答案

您可以将 sequelize.where() sequelize.literal() 结合使用

Model.findAll({
    where: sequelize.where(
        sequelize.literal('last/strike'),
        '>',
        10
    )
}).then(instances => {
    // result...
});

上面使用的 sequelize 是 Sequelize 的一个实例。此查询将生成类似于

SELECT * FROM table_name WHERE last / strike > 10;

编辑

如果要包含其他条件,则需要将 sequelize.where() 调用分配给某个名称

Model.findAll({
    where: {
        lastStrike: sequelize.where(
            sequelize.literal('last/strike'),
            '>',
            10
        ),
        something: 4
    }
}).then(instances => {
    // result...
});

这将生成您在评论中提到的查询

SELECT * FROM table_name WHERE last / strike > 10 AND something = 4;

关于sequelize.js - 如何在 Sequelize 中找到分割结果大于某个数量的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875487/

相关文章:

javascript - 我应该制作自己的graphql风格的api但只能使用sequelize吗?

javascript - 继承关联 : set[Models] adds new models instead of associating existing ones

transactions - 可以在前端显示sql事务运行状态吗

javascript - Sequelize 不更新表中的一行

postgresql - 在相关表中不存在记录或在具有条件的相关表中确实存在记录时,对查询进行序列化

javascript - 我在 sequelize.js 中遇到了一对多关联的左外连接问题

node.js - 在单个对象而不是嵌套对象中显示所有数据

postgresql - sequelize 更新事务锁行

javascript - Sequelize JS - 在连接中选择 On 子句

node.js - 无法使用 Sequelize ORM 连接到 AWS RDS