關於mongoDB的分頁

最近在網上發現有人說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實例

然後調用兩個方法可以獲得分頁後的數據和總頁數


本人也沒坐過測試,不知道這樣做分頁對性能有什麼影響,請各位大神們指點下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章