Pagination in CouchDB?

前端 未结 4 788
迷失自我
迷失自我 2020-12-01 01:39

How would I go about implementation the queries required for pagination?

Basically, when page 1 is requested, get the first 5 entries. For page 2, get the next 5 and

4条回答
  •  生来不讨喜
    2020-12-01 02:25

    • Here below is the recursive way I found :

      Take two variables

      var lastOffset = 0; var counter = 0;
    
      function someRecursive(lastOffset,counter) {
    
      queryView(db, whereClause).then(result => {
          var rows_per_page = 5; 
    
    //formula below 
    var page = Math.floor((lastOffset == 0 ? 0: (result.offset - lastOffset) +
    
      (rows_per_page * counter)) /  rows_per_page) + 1;
    
       var skip = page * rows_per_page;
      if (somerecursionexitcondition) {
                       counter = lastOffset == 0 ? lastOffset: counter + 1;
                       lastOffset =result.offset;
                  someRecursive(lastOffset, counter).then(result => {
                                   resolve();
    
                               });
      });
    
      }
    

提交回复
热议问题