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): прямой доступ быстрее/более масштабируемым, чем запрос. –

Смежные вопросы