【问题标题】:Query Firebase Data From Different Nodes从不同节点查询 Firebase 数据
【发布时间】: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


【解决方案1】:

认为我需要为每个用户创建一个新闻提要节点。如果您遇到同样的问题,这是一本很好的读物。

https://firebase.googleblog.com/2015/10/client-side-fan-out-for-data-consistency_73.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多