我想对Nodejs和Mongoose进行分页。我可以限制帖子,但无法处理前端到后端的连接。
这是app.js:
app.get('/', function (req, res) {
var perPage = 2
var page = req.params.page || 1
Metin
.find({})
.skip((perPage * page) - perPage)
.limit(perPage)
.exec(function(err, metins) {
Metin.count().exec(function(err, count) {
if (err) return next(err)
res.render('index', {
metins: metins,
current: page,
pages: Math.ceil(count / perPage)
})
})
})
});
这是我的index.pug
extends layout
block content
body
br
br
br
.container
ul.list-group
each metin, i in metins
li.list-group-item
a(href="/metin/" + metin._id)= metin.baslik
我想添加可以传递到相关分页网页的按钮。您能帮我吗?
此行下方的内容可以解决吗?
a(href='?page=' + pages)= length.pages.
您可以使用while
迭代器在while
变量上循环以为每个页面创建一个数字。并且根据pages
变量有条件地显示/隐藏上一个/下一个链接。如果您没有大量页面,这应该可以工作:
current
另外,请参见ul
if current > 1
li
a(href=`?page=${parseInt(current) - 1}`) Previous
- var i = 1
while i <= pages
li
a(href=`?page=${i}`)= i++
if current < pages
li
a(href=`?page=${parseInt(current) + 1}`) Next
示例。