node.js - Sequelize 设置限制为最大行数

标签 node.js sequelize.js

从前端我向 Sequelize 发送 2 种类型的参数

第一个参数: {}
第二个参数: {page: '1', start: '0', limit: '30' }
我的 Sequelize 查询:

myTable.findAndCountAll({
    .....
    offset: (req.query.start) ? parseInt(req.query.start) : 0,
    limit: (req.query.limit) ? parseInt(req.query.limit) : 30
.........

默认情况下,对于第一个参数,它将 限制设置为 30

对于第二个参数,它将 limit 设置为参数发送。

我的问题是,我需要为第一个参数设置默认限制以返回所有行。

试图将 null 设置为默认值,例如 limit: (req.query.limit) ? parseInt(req.query.limit) : null ,它将默认限制设置为 10000000000000 ,这是我不想要的。

如果有任何特定的方法可以做到这一点可能会有所帮助。

最佳答案

由于 Sequelize 没有为此提供内置功能,该问题的解决方案之一是:

let limits = {};
if(req.query.limit){
    limits = {
        offset: (req.query.start) ? parseInt(req.query.start) : 0,
        limit: parseInt(req.query.limit)
    }
}

myTable.findAndCountAll({
    .....
    ...limits , // <---- here three dots are ES6 syntax , so don't ignore that)
    .....
});

更多细节: READ

关于node.js - Sequelize 设置限制为最大行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52812919/

相关文章:

node.js - npm 和 gulp - 如何正确处理 gulp 中使用 npm 安装的模块

node.js - sequelize - 无法与 MSSQL 建立连接

node.js - 设置 Sequelize#belongsTo() 不接受空引用

node.js - 关于使用 expressjs、postgresql 进行身份验证的任何源代码示例?

javascript - 如何为 Sequelize 模型设置外键?

node.js - 无法关闭应用引擎版本。保持计费

node.js - socket.io - socket.send 不传送消息

javascript - Passport.js 在 req.login 上失败

javascript - 电子邮件地址是来自 Meteor JS 中的事件监控 API 的无效响应

javascript - 无法使用 sequelize-auto 读取未定义的属性 'findOrCreate'