如何在 N1ql 中使用带 'cursors' 的分页?

How do I use paginate with 'cursors' in N1ql?

我需要对 Couchbase N1ql 查询进行分页。

我是aware of paginationOFFSET,但是指定起点和终点效率更高

我看到了关于 startkey_docid 的文档,但是 none 关于如何在 N1ql 中使用它的文档。

如何在 N1ql 中使用游标或类似的东西进行分页?

N1QL 不支持游标。在幕后,发送到查询引擎的每个查询都是一个单独的 HTTP 请求。查询之间根本没有连续性,因此不支持游标的概念。

研究 "keyset pagination",这是一种通过利用索引而不是使用 offset 来提高分页性能的通用技术。关于该主题的一篇常被引用的文章是 Markus Winand 的“We need tool support for keyset pagination”。

有关使用 N1QL 的特定于 Couchbase 的示例,请参阅 Keshav Murthy 的文章“Database Pagination: Using OFFSET and Keyset in N1QL”。