ios - 没有完整引用的 Firebase 查询 2 级深度

标签 ios swift firebase firebase-realtime-database

有没有办法在不知道整个引用路径的情况下查询 Firebase 数据?我需要能够根据解决方案编号值将数据从一个用户的个人资料中提取到另一个用户的个人资料中。

这是我的数据结构的图片

data structure setup

当我尝试发送信息时,我将无法访问其他用户的 UID。有什么办法可以解决这个问题还是我必须重组我的数据?

这是我当前的查询方法,我只是认为 for 循环可能是不好的做法

// MARK: - Search for trainees
func searchForTrainees() {

    self.ref.child("users").observeSingleEventOfType(.Value, withBlock: { snapshot in

        if snapshot.value! is NSNull {

        } else {

            if let users = snapshot.value! as? JSONDictionary {

                for user in users {

                    let userUID = user.0

                    if let userInfo = user.1 as? JSONDictionary {

                        if let uplineSolutionNumber = userInfo["upline_solution_number"] as? String {

                            if uplineSolutionNumber == self.currentUser?.solution_number {

                                self.syncUserData(userUID)

                            }
                        }
                    }
                }
            }
        }
    })
}

如果有更有效的方法,请告诉我

最佳答案

您需要通过将数据复制到多个节点来以不同的方式构建数据。 看看这篇文章,它应该可以帮助您理解这个概念: https://firebase.googleblog.com/2015/10/client-side-fan-out-for-data-consistency_73.html?m=1

关于ios - 没有完整引用的 Firebase 查询 2 级深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38405393/

相关文章:

ios - UILabel - 如何在 Swift 3 中的行之间添加空格

ios - "No such module"每次打开项目时第 3 方框架导入问题

ios - 在从函数返回之前等待 Firebase 加载

firebase - Lambda nodeJS 4.3 未完成/执行成功回调

ios - UINavigationController 作为 UITabBarController 的 child 留下了一个空白

ios - 更清洁的 XCode 宏

javascript - iOS 自动化测试 : buttons' Label not recognized by Instruments

ios - 当按下带有 html 目标 ="_blank"的链接时,用于 navigationAction 函数的 WKWebView 不会从另一个 swift 类调用

python - 如何将从 Firebase 导出的数据作为 json 加载到 Python 脚本中

IOS 状态栏不透明