【发布时间】:2017-07-21 04:36:04
【问题描述】:
我有以下数据结构。
我想通过执行 QueryOrderedByValue 对这些数据进行分页/无限滚动。问题是我不知道如何同时从两个不同的分支查询数据。我只知道如何处理一个分支,但不确定如何处理两个分支。
我现在正在做的当前方法是通过每个分支运行它:
metadataRef.queryOrderedByValue().queryEnding(atValue: highest).queryLimited(toLast: UInt(limit))
这是有问题的,因为数据不再按顺序排列,而且每次拉取数据时,数组都可能重新排序。如果有人对此有解决方案,我将不胜感激!另外,我在 Swift 中执行此操作,因此 swift 代码也会有所帮助。
编辑:我能想到的唯一其他解决方案是一次下载所有数据,然后订购它们。但我担心当有数十万个条目时这可能会成为一个问题。
【问题讨论】:
-
从 Firebase 提取数据后,如何维护本地集合并根据需要对其进行排序?
-
你的意思是一次性拉取所有数据然后缓存吗?
-
不一定。你想要分页,你会多次提取数据。一旦每个查询返回过滤后的数据,将其附加到本地集合中并为新附加的数据排序。
-
这就是我目前正在做的事情,但是因为我同时在显示数据。因此,每次我使用它时,表格都会发生变化,而不仅仅是将数据附加到末尾。
-
这里有点混乱。因此,您想从 2 个节点中获取数据,并对其进行排序和过滤,使其应附加到表的末尾?
标签: ios swift firebase firebase-realtime-database