我的区块链网络中有 500 多条记录,我想为前端的分页编写一个链码。我已经使用过getQueryResultWithPagination
,getStateByRangeWithPagination
但我担心的是我想获取从第 90 到第 100 的记录意味着 10 条记录,但不是从头开始,我也不想获取整个记录。我的链码是用 nodejs 编写的。我坚持这一点,非常感谢社区给我他们宝贵的建议。
2 回答
如果是这样,您是否正在寻找直接跳转到页面,那么它是不可能的。链表样式分页的一个缺点是您无法根据页码和每页的行数预先计算特定页面的行数。跳转到特定页面实际上不起作用。
只需在此处查看参考:https ://docs.couchdb.org/en/stable/ddocs/views/pagination.html
getQueryResultWithPagination
当然只适用于 CouchDB ...所以当使用 CouchDB 查询语言时,您应该能够skip
在实际查询中指定参数。请注意,根据文档,该limit
参数不被接受,因为使用了页面大小参数:
如果使用分页查询 API(GetStateByRangeWithPagination()、GetStateByPartialCompositeKeyWithPagination() 和 GetQueryResultWithPagination())指定 pageSize,则一组结果(由 pageSize 绑定)将与书签一起返回到链代码。书签可以从链码返回给调用客户端,客户端可以在后续查询中使用书签来接收下一个“页面”结果。
当然,要构建一个通过结果页面的前端客户端,您需要将pageSize
和bookmark
参数传递给getQueryResultWithPagination
,并且您的链码函数将需要返回bookmark
给调用者,以便可以将其传入以获取下一页结果.