卡桑德拉的手工​​分页

时间:2018-03-06 16:15:32

标签: node.js apache cassandra cassandra-3.0 cassandra-driver

我在Cassandra中使用手动分页功能。

client.eachRow(query, params, options, function (n, row) { 
     // Invoked per each row in all the pages
     console.log("row",row);
  }, function (err, result) {
       if(typeof result !== undefined) {
          pageState = result.pageState;
          console.log("pagestate output : ", pageState);
          if(pageState != null) {
              //
          }
       }
  }
  );

假设我们在表格中有4个行/条目' test'。

当我尝试使用fetchsize查询' 2'它返回两个带有result.pageState的entres然后我使用相同的pageState来查询下一页并成功获取。

但问题是

由于总条目为4且获取大小为2,因此在下一页中,我希望第三个和第四个条目与pageState为空(因为没有更多条目可用)但是,< / strong>它返回第3和第4个条目与另一个页面状态。

1)在这种情况下:收到的页面状态是下一个值的页面状态(或)最后收到的值的页面状态吗? AFAIK这是最后收到的值(第4个条目)页面状态,所以为了确定我们到达最后一个条目,我总是再打一次电话(result.nextpage),如果它未定义,那么我认为那里已经没有更多的参赛作品了,我觉得为每一个分页再打一次电话都是空头。

2)如何识别我们到达目的而不进行结果。下一页检查。

谢谢,
哈利

0 个答案:

没有答案