最近在网上发现有人说MongoDB进行数据库查询的时候不要使用skip,数据大的时候会影响性能
所以我就有个思路,将符合查询条件的内容全部取出来,然后分割数组,这样做分页,顺便写了个分页类如下
function pageBean(size,perpage){
this.size = size;
this.perpage = perpage;
}
pageBean.prototype.getDataByPage = function(array,page){
if(page<0||!(array instanceof Array)||page>Math.ceil(array.length/this.perpage)){
return [];
}
else{
return array.slice(page*this.perpage,page*this.perpage+this.perpage);
}
}
pageBean.prototype.getDataSum = function(array){
if(!array instanceof Array){
return 0;
}
else {
return Math.ceil(array.length / this.perpage)
}
}
module.exports = pageBean;
使用的时候只要传人一个数据库查询结果数组,和每页的页数,就可以得到一个pageBean实例
然后调用两个方法可以获得分页后的数据和总页数
本人也没坐过测试,不知道这样做分页对性能有什么影响,请各位大神们指点下。