我将从前端向 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 。
如果有任何特定的方法可以帮助您。
答案 0 :(得分:2)
由于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