我正试图用猫鼬分页建立分页,但它不会显示页面数或页面数...
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之类的页码的任何建议
答案 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
});
所以我们可以这样做。
在这里我们使用page
。 offset
要求我们手动进行计算,这很糟糕。
通常,我们不需要解析任何内容。包裹的作者为您包裹了。
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.
});
});
});
您还没有在这里显示其他信息吗?