我正在Kotlin开发一款Android游戏。作为其中的一部分,我想从Firebase获取玩家排行榜。我试图用数字对它进行分页(即第1页:播放器1-50,第2页:播放器51-100,等等)。我读到这是不可能的,因为Firestore不支持这种分页。这是真的?
预先感谢您的帮助。
答案 0 :(得分:0)
使用Firestore,您可以请求一定大小的数据页面。这就是limit(N)的目的。因此,您可以从查询的开头开始,获取一个大小为N的页面,然后继续使用另一个大小为N的页面继续该查询。通常从第1页开始,然后使用提供的API通过指定哪个来逐步浏览这些页面。文档是最后一页中的最后一个。
Firestore不会为您做的是让您立即跳到任意页面,而无需先阅读所有先前的页面。没有办法告诉查询“从项目100开始”。您可以启动一个特定的文档,也可以从一个有序字段的特定值开始,仅此而已。另外,由于收集不维护文档数,因此除非您自己维护文档数,否则您将无法知道有多少页数据。