首页 > 解决方案 > Firebase:分页使用 endAt

问题描述

我的数据:

信息
_1
___id:1
___年:2020
_2
___id:2
___年:2019
_3
___id:3
___年:2020
_4
___id:4
___年:2020
_5
___id:5
___年:2017
[...]

在第一页中,我使用
ref().child("info").orderByChild("year").equalTo(2020).limitToLast(5).get()
它返回最后 5 个信息,年份 = 2020(例如:id = 23、22、21、20 和 17)。现在,在第 2 页,我使用 id=17 继续获取最后 5 个最后信息。我需要类似的东西: ref().child("info").orderByChild("year").equalTo(2020).endAt(id=17).limitToLast(5).get()
如何一起做 oderByChild Year 和 Id?

标签: javascriptfirebasefirebase-realtime-database

解决方案


endAt方法(以及startAtendAfterstartAfter)采用两个参数。第一个是您订购/过滤的属性的值,第二个参数是在属性有多个匹配项时使用的节点的键。

因此,要在节点 where yearis2020和 key 等于的节点处结束17,您的组合查询可能如下所示:

ref().child("info").orderByChild("year").endAt(2020, 17).limitToLast(5)

推荐阅读