我希望获得三个不同的节点,同时在android中进行查询以进行分页。我有节点树如下
我通过将查询设为
来构建一个逻辑来获取三个节点Query q =FirebaseDatabase.getInstance()
.getReference()
.child("testting")
.orderByKey().startAt(starting_point)
.limitToFirst(3);
在上面的代码中starting_point
是我希望获得下一个三个节点 排除 的节点的关键starting_point
节点。但是当我从starting_point
节点开始查询时,它在结果中重复了点节点。
反映结果的图片:
因此,请指导如何进行查询以获取排除 starting_point的下一个节点。
答案 0 :(得分:0)
Firebase实时数据库API仅支持查询所谓的包含范围。无法从查询结果中排除第一个(或最后一个)节点。这意味着您必须删除重叠项目客户端。这通常意味着您将第一个结果的键与您之前看到的最后一个键进行比较,如果键相同则将其排除。
这是新Cloud Firestore数据库的查询API解决的一个要点。它具有允许独占范围查询的显式startAfter
和endBefore
方法。