Firebase 2.0·从UISearchField查询用户名的用户·Swift

时间:2016-06-30 10:06:34

标签: swift firebase uisearchbar firebase-realtime-database

我实现一个搜索框是我的swift应用程序,它在我的firebase数据库中搜索与其用户名匹配的帐户。

我的数据库结构是

  

"用户" {

     
    

" UID" {

         
      

"如first_name" :" Bob",

             
        

"姓氏" :"某人"

                 
          

"用户名" :" bobby"

                     
            

}

                         
              

}

            
          
        
      
    
  

(对不起块引用我可以让它看起来不错) 我的问题是我需要搜索人员用户名而不是这样做我需要将数据库路径作为

Database.child("users").child(uid!)

然后我可以看到数据。

我需要能够搜索用户用户名而无需使用其UID设置路径

谢谢:)

1 个答案:

答案 0 :(得分:3)

Firebase 2.x和3.x

由于您提到您使用的是firebase 2.0,因此orderedByChild()queryEqualToValue()结合使用firebase legacy documentation。无论哪种方式,在新的firebase文档中进行搜索,您都会发现Sorting and Filtering Data没有任何变化,因此您仍然会在两个版本中使用相同的调用。

ref.child("users").queryOrderedByChild("username").queryEqualToValue(username).observeEventType(.ChildAdded, withBlock: { snapshot in
    if let username = snapshot.value["username"] as? String {
        print("UID: \(snapshot.key) Username: \(username)")
    }
})