node之blog实战15(用户列表分页原理+实现)

本节介绍下用户列表分页的原理和实现

主要依赖MongoDB的limit和skip方法

(1)先用limit实现分页

  语法User,find().limit()

  例如想实现每页6条数据,则如下所示

  

  此时结果如下

  

 

  接下来做下分析

  

 

 (2)跳跃忽略条数配置

  

 

   接下来可以修改page当前页,刷新页面,查看数据是否换页正确

  

(3)实现分页读取

  分析,最终想要的格式为,切换到第二页,通过get的query获取参数。如下所示,默认page为1,如果未传参则为1

 

  

  测试后如下

  

 

  

(4)添加上下页按钮

  

 

  

 

   分析:点击上一页往前走,点击下一页网后走,所以必须知道当前是第几页。将当前页page传递到模板渲染处

  

 

   

 

  测试如下:

   

 

  此时便可以通过点击上下页来实现切换。但还存在问题:页数没有限制,可以一直上下页跳转。所以需要对页数进行控制

  

(5)获取总文档数量,进行分页计算,控制页数

  这里要用到User.count()来查询总数量

  

 

   刷新页面,服务端输出如下

  

 

   由此可以看出一个14条数据

  因为数据库查询操作都是异步的,所以需要将find操作放到count里面,先获取总数量再进行查询浏览

  

 

   接下来进行页数限制,当前页数取值不能操作总页数,如下所示

  

 

   

(6)实时页数显示

  

 

   接下来实现一个这样的功能,所以接下来将用到的数据全部传递给模板

  

 

   

 

   结果如下:

  

 

 

   

(7)完善

  

 

  

 

  

  

  

 

 

 

 

 

.

posted @ 2020-02-14 22:07  剑仙6  阅读(186)  评论(0编辑  收藏  举报
欢迎访问个人网站www.qingchun.在线