2016-06-23 16 views
0
var usernameEntered = self.textField.text! 
var databaseReferenceQuery = DataService.ds.REF_USERS.queryOrderedByChild("username").queryEqualToValue(usernameEntered).observeSingleEventOfType(.Value, 
    withBlock: { (snapshot) in 

     if (snapshot.value is NSNull) { 

     } else { 
      print(snapshot.key) 
      print(snapshot.value.) 
     } 
    }, withCancelBlock: { (error) in 
      // An error occurred 
    }) 
} 

これは私が持っているものです。私は、ユーザー名を検索し、それがテキストフィールドに入力されているものと等しいかどうかをチェックしています、そのクエリを実行することによりFirebaseとSwiftでクエリの情報を取得する

Users 
    20394802938lsjfkjaweli (the uid) 
     username: Bob 
    0skjflakjlkwjf93j09 
     username: Bobby 

は私のfirebaseデータベースが同じように設定されています。

私は印刷(snap.value)のような何かをするとき、私は、ユーザー名「を取得:(それはユーザ名と一致した場合にどのような私は、テキストフィールドに入れて)

私は必要なものは、ユーザーIDを暗礁することができることですそのユーザ名に関連付けられている。

使用snapshot.keyは、「ユーザー」と私を提供します。どのように私は、その1レベル下を得るのですか?

+0

基本的に100%重複しています。私の悪い、発見のおかげで! – Noowoo

答えて

0
for child in snapshot.children { 
    let key = child.key as String 
    print("this key \(key)") 

が返されたスナップショットを取り、子供のキーに変数キーを設定し、この場合、UID内では、

関連する問題