nodejs mongoose 分页查询
最近在用所学知识写自己的博客系统,想要实现一个获取文章列表的分页功能,大概是如下效果:

第一次用nodejs写分页查询功能,记录一下过程
前端代码:
async getArticleList (index) {
let res = await this.$http.post(‘/article/getArticleList‘,{page: index, pageSize: this.pageSize})
console.log(res)
if(res.data.result === 0) {
let data = res.data
this.count = data.total
this.articlelist = data.artcleList
}else {
return this.$Message.error(res.data.error_info)
}
}服务端代码:
// 获取文章列表
router.post(‘/getArticleList‘, function ( req, res) {
let page = req.body.page
let limit = req.body.pageSize || 5
Article.find({},function (err, data) {
if(err) return res.status(500).json({
result: 1,
error_info: ‘请求失败!‘
})
let count = data.length
console.log(count)
Article.find({}).skip((page - 1)*parseInt(limit)).limit(parseInt(limit)).exec(function (err, data) {
if(err) return res.status(500).json({
result: 1,
error_info: ‘服务器繁忙,请稍后重试!‘
})
return res.status(200).json({
result:0,
message:‘请求成功‘,
total: count,
artcleList: data
})
})
})
})page和limit是由前端传过来的,通过req.body来获取,因为是要给前端传所有的数据条数,所以就需要将所有数据都查询出来,通过data.length取出长度.。
skip表示跳过前N个查询结果,返回从N+1个开始的limit个数据,比如,一页5条数据,现在要查询第3页数据,就跳过前两页的10条数据,返回从第三页开始的5条数据。
exec表示计算由前面查询条件返回的结果。
推荐文章:
相关推荐
80500495 2020-06-14
mkhhxxttxs 2020-06-14
86211943 2020-03-01
80530895 2020-02-23
80500495 2020-01-29
86211943 2020-01-24
lovecodeblog 2020-01-24
87261046 2019-12-23
86211943 2019-12-20
lightlanguage 2019-12-16
MYRENZHIBO 2019-08-28
85234656 2018-09-03
fudirong 2012-04-12
80500495 2019-07-01
mjperhuo 2019-06-30