Firebase查询2级深度,没有完全引用swift

时间:2016-07-15 21:41:29

标签: 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)

                            }
                        }
                    }
                }
            }
        }
    })
}

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

1 个答案:

答案 0 :(得分:1)

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