【问题标题】:How to implement pagination correctly for nodejs?如何为nodejs正确实现分页?
【发布时间】:2019-04-08 05:08:44
【问题描述】:

我使用 ORM sequelize 和 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 不是函数

如何解决?

【问题讨论】:

    标签: node.js express sequelize.js


    【解决方案1】:

    offsetlimit 值应在传递给findAll() 的选项上设置,如Pagination/Limiting 的文档中所示。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-04
      • 2015-02-27
      • 2013-07-22
      相关资源
      最近更新 更多