【发布时间】:2016-04-17 03:29:25
【问题描述】:
我正在使用 Nodejs Cassandra 驱动程序,我希望能够检索上一页和下一页。到目前为止,documentation 显示了下一页的检索,它保存了上一页的pageState 并将其作为参数传递。遗憾的是,没有关于如何导航到上一页的信息。
在我看来,有两种选择:
将每个
pageState和页面保存为键值对,并将pageState用于您要导航到的页面。将检索到的数据保存在一个数组中,并使用该数组导航到上一页。 (我认为这不是一个好的解决方案,因为我必须将大块数据存储在内存中。)
这两种方法对我来说似乎都不是一个优雅的解决方案,但如果我必须选择,我会使用第一种。
有没有什么方法可以直接使用Nodejs Cassandra driver 做到这一点?
另一件事是,在文档中,手动分页是通过调用eachRow 函数来使用的。如果我理解正确,它会在数据库中显示为红色时立即为您提供每一行。问题是这是在我的 API 中实现的,我在 HTTP 响应中返回当前页面的数据。因此,为了让我这样做,我必须将每一行推送到自定义数组,然后在检索当前页面的数据时返回该数组。有没有办法将execute 与手动分页一起使用,因为上面似乎是多余的?
谢谢
编辑:
这是我的数据模型:
CREATE TABLE store_customer_report (
store_id uuid,
segment_id uuid,
report_time timestamp,
sharder int,
customer_email text,
count int static,
first_name text,
last_name text,
PRIMARY KEY ((store_id, segment_id, report_time, sharder), customer_email)
) WITH CLUSTERING ORDER BY (customer_email ASC)
我在网格中显示数据,以便用户可以浏览它。 在我写这篇文章时,我想到了一种不需要以前功能的方法,但我认为这是一个有效的案例,如果有一个优雅的解决方案,那就太好了。
【问题讨论】:
标签: javascript node.js cassandra