从前端我向 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/