如何为nodejs正确实现分页?

时间:2018-11-04 18:54:21

标签: node.js express sequelize.js

我使用ORM序列化和postgresql数据库。我想实现分页。

使用MongoDB数据库,以这种方式执行分页。

module.exports.getBySprOilfieldId = async function (req, res) {
    try {
        const query = {
            where: {
                spr_oilfields_id: req.params.spr_oilfields_id
            }
        }
        const sprwellplatforms = await SprWellplatforms.findAll(query)
        .skip(+req.query.offset)
        .limit(+req.query.limit)
        res.status(200).json(sprwellplatforms)
    } catch(e) {
        errorHandler(res, e)
    }
}

但是由于我使用的是postgresql数据库,所以出现了此类错误。

  

SprWellplatforms.findAll(...)。skip不是函数

     

SprWellplatforms.findAll(...)。limit不是函数

如何解决?

1 个答案:

答案 0 :(得分:0)

offsetlimit的值应在Pagination/Limiting的文档中看到的传递给findAll()的选项上进行设置。

const query = {
  where: {
    spr_oilfields_id: req.params.spr_oilfields_id
  },
  offset: +req.query.offset,
  limit: +req.query.limit,
};
const sprwellplatforms = await SprWellplatforms.findAll(query)