作者:枫殇忆华年 | 来源:互联网 | 2023-05-29 10:32
有没有办法从限制和偏移的firebase检索数据?例如,我的firebaseRef中有大约1000个元素,并希望开发某种分页.有没有办法可以在不加载完整的对象列表的情况下完成.
现在我正在使用queryLimitedToLast(limit)
它并limit
为每一页增加.但是这种方法不允许我计算页数.
更新:
有一件事我没有提到,但这非常重要.我的数据从最后到第一个显示.想象一下,这是一个简单的信使但是有了分页.所以我想显示最后20个项目,然后是20个之前的20个等等.
谢谢.
1> Frank van Pu..:
是的,通过一长串子节点进行分页绝对是可能的.诀窍是记住当前页面上最后一项的密钥(或优先级或任何你排序的值),然后将其传递到queryStartingAt...
下一页.
Kato在他的博客文章中写了一个很好的例子,说明如何在Firebase中实现常见的SQL查询:
// fetch page 2 of widgets
new Firebase("https://examples-sql-queries.firebaseio.com/widget")
.startAt(null, lastWidgetOnPrevPage)
.limitToFirst(LIMIT+1) // add one to limit to account for lastWidgetOnPrevPage
.once('value', function(snap) {
var vals = snap.val()||{};
delete vals[lastWidgetOnPrevPage]; // delete the extraneous record
console.log('widgets on this page', vals);
});
此示例使用Javascript SDK,但iOS SDK中也提供了相关方法.
请注意,此片段会检索一个额外的项目(LIMIT+1
),因为我们从上一页的最后一项开始.