2016-06-20 6 views
2

データの構造は以下のとおりです。だから私は、ユーザーとユーザーのuidに等しいクエリを照会することはできません。Firebaseデータベースからユーザの詳細をクエリするにはどうすればよいですか?

poopy

let queryRef = FIRDatabase.database().reference().child("user") 

queryRef.queryEqualToValue(FIRAuth.auth()!.currentUser!.uid)observeEventType(.Value, withBlock: { (snapshot) -> Void in 


     self.userDict.append(snapshot.value as! NSDictionary) 
     print(snapshot.value as! NSDictionary) 

     dispatch_async(dispatch_get_main_queue(), {() -> Void in 
      self.searchTableView.reloadData() 
      print(self.userDict) 
      SwiftLoader.hide() 


      queryRef.removeAllObservers() 

     }) 
    }) 

私は、姓と名の値を印刷することができていますが、アドレスやイメージではありません。 NSDictionaryとしても保存できません。私がqueryEqualToValueを取り出した場合、正常に動作しますが、すべてのユーザーの値が取得されます。あなたはこのような何かを探しているかもしれない

答えて

4

let queryRef = FIRDatabase.database().reference().child("user") 
queryRef.child(FIRAuth.auth()!.currentUser!.uid).observeEventType(.Value, withBlock: { (snapshot) -> Void in 
    print(snapshot.value as! NSDictionary) 
} 
+0

うわー、私はそれを試してみましょう。あまりにも明白だと思われる – gooberboobbutt

+2

良い答え! Firebase(およびほとんどのNoSQLデータベース)に留意することは重要なことです。ダイレクトアクセスは、クエリよりも高速でスケーラビリティがあります。 –

関連する問題