ios - 从不同节点查询Firebase数据

标签 ios swift firebase firebase-realtime-database

我有以下数据结构。

enter image description here

我想通过执行 QueryOrderedByValue 对此数据进行分页/无限滚动。问题是我不知道如何同时查询两个不同分支的数据。我知道如何仅使用一个分支,但不确定如何使用两个分支。

我现在正在执行的当前方法是通过每个分支运行此方法:

metadataRef.queryOrderedByValue().queryEnding(atValue: highest).queryLimited(toLast: UInt(limit))

这是有问题的,因为数据不再按顺序排列,并且每次提取数据时数组可能都会重新排序。如果有人对此有解决方案,我将不胜感激!另外,我正在 Swift 中执行此操作,因此 Swift 代码也会很有帮助。

编辑:我能想到的唯一其他解决方案是立即下载所有数据,然后对它们进行排序。但我担心当有数十万个条目时这可能会成为一个问题。

最佳答案

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

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

关于ios - 从不同节点查询Firebase数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45206242/

相关文章:

ios - 错误: Cannot convert value of type 'String.Type' to expected dictionary key type 'String'

ios - 无法将 UIView 类型的值转换为 UIButton

Firebase/Google 分析与 Firebase 功能共享

ios - 当 firebase 完成时向函数添加完成,iOS,Swift

ios - 当我运行我的应用程序时,是否有快捷方式可以知道我位于哪个 View Controller 中?

ios - 找不到第三方 'MBProgressHUD/MBProgressHUD.h' 文件

ios - 获取用户当前位置/获取经纬度值 watchkit/ios swift

ios - Storyboard只加载一次

ios - 为什么我的代码只能在 DispatchQueue.main.async block 内运行?

firebase - MissingPluginException(在 channel firebase_messaging 上找不到 Messaging#requestPermission 方法的实现