2016-07-15 8 views
0

参照パス全体を知らなくてもfirebaseデータをクエリする方法はありますか?私はのソリューション番号の値に基づいて、あるユーザーのプロファイルから別のユーザーのプロファイルにデータをプルできるようにする必要があります。ここでFirebaseクエリー2レベルの深さで完全なリファレンススウィフトなし

は私が情報を送信しようとしているとき、私は別のユーザーのUIDにアクセスすることはできません私のデータ構造

data structure setup

の写真です。これを回避する方法はありますか、データを再構成する必要がありますか?

これは私の現在のクエリーメソッドで、私はこれを行うには、より効率的な方法がある場合はループのため、私はあなたが構築する必要が

答えて

1

を教えてください

// 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

関連する問題