首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用游标使用GQL和新的gcloud-java API导航到以前的页面?

如何使用游标使用GQL和新的gcloud-java API导航到以前的页面?
EN

Stack Overflow用户
提问于 2016-06-08 15:56:24
回答 1查看 1.3K关注 0票数 2

我正在使用新的gcloud-java (https://github.com/GoogleCloudPlatform/gcloud-java/tree/master/gcloud-java-datastore/src/main/java/com/google/cloud/datastore)来处理Cloud。我的具体问题是如何使用GQL对游标进行分页。我能够在前进的方向上使用游标一页一页地浏览结果,但没有向后分页的运气。

示例场景:

假设我有20个实体的if 1到20。我的页面大小为5。一旦我在第3页(if 11到15),如果我需要返回一页;即检索if 6到10,正确的GQL/示例代码是什么?同样,我不喜欢使用偏移量与数字,但希望使用游标。

据我所知(实际测试),似乎需要跟踪每个页面的开始/结束游标,因为它们是向前导航的,然后在需要返回时使用保存的游标。我只想确定这是正确的/唯一的方式,还是有一种更简单的方法来实现这一点。

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 20:10:28

如果在原始查询中添加按键排序(附加到"order by“子句末尾),则应该能够反转每个属性的排序顺序,并使用原始查询中的最新游标反向获得结果。

假设您已经迭代了前向查询的QueryResults中的一些值。您可以调用QueryResultscursorAfter()方法,该方法将在您从原始查询中看到的最后一个结果之后返回一个指向光标的游标。现在,您可以使用该游标作为开始游标,发出一个新的查询(每个属性的排序顺序与之相反,包括键属性)。您可能希望跳过第一个结果,因为它将是从原始查询中看到的最后一个结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37707390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档