猫鼬分页不会显示页数

时间:2018-12-01 10:40:49

标签: node.js mongoose paginate

我正试图用猫鼬分页建立分页,但它不会显示页面数或页面数...

Route.js

// View users
router.get("/show", function (req, res, next) {

    var query = {};
    var options = {
        offset: 0,
        limit: 10
    };

    User.paginate(query, options).then(function (result) {
        return res.render("../modules/users/views/userList", {
            layout: 'cmsLayout',
            users: result.docs,
            page: parseInt(result.page),
            pages: parseInt(result.pages)
        });
    });
});

车把

 {{#each pages}}
     <h1>{{this}}</h1>
 {{/each}}

//结果不正确

  <h2>{{pages}}</h2>

//结果为NaN

我正在寻找有关如何显示1 2 3 4 5之类的页码的任何建议

1 个答案:

答案 0 :(得分:1)

mongoose-paginate中的Document

使用具有以下属性的对象来兑现承诺:

  • docs {Array}-文档数组

  • 总计{Number}-集合中与查询匹配的文档总数

  • 限制{Number}-使用的限制

  • [页面] {Number}-仅在指定的情况下或使用默认的页面/偏移值

  • [页面] {Number}-仅当指定页面或使用默认页面/偏移值

  • [偏移量] {Number}-仅在指定的情况下或使用默认的页面/偏移量值

似乎 Only if 在这里很重要。


//Skip 20 documents and return 10 documents
Model.paginate({}, { page: 3, limit: 10 }).then(function(result) {
    // result.docs
    // result.total
    // result.limit - 10
    // result.page - 3
    // result.pages
});

所以我们可以这样做。

  • 在这里我们使用pageoffset要求我们手动进行计算,这很糟糕。

  • 通常,我们不需要解析任何内容。包裹的作者为您包裹了。


router.get("/show", function (req, res, next) {
    var query = {};
    var options = { page: 1, limit: 10 };

    User.paginate(query, options).then(function (result) {
        return res.render("../modules/users/views/userList", {
            layout: "cmsLayout",
            users: result.docs,
            page: result.page, // The page num which equals 1.
            size: result.limit, // The page size which equals 10.
            pages: result.pages // It seems like the total page num. Not sure.
        });
    });
});

您还没有在这里显示其他信息吗?

相关问题