最近在網上發現有人說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實例
然後調用兩個方法可以獲得分頁後的數據和總頁數
本人也沒坐過測試,不知道這樣做分頁對性能有什麼影響,請各位大神們指點下。