我在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)如何识别我们到达目的而不进行结果。下一页检查。
谢谢,
哈利