2016-07-31 146 views
0

我試圖從我的Firebasedatabase中檢索一些數據,但我無法完成此操作。首先,我用數據創建了.json文件,然後將其導入到Firebase。它看起來像,但它是更長的時間:從firebase檢索特定數據

enter image description here

現在我想打印出所有的「品牌」,如「俘獲」,「精雕細琢鼻菸」等,但我不能因爲某些原因。

多數民衆贊成我是如何做到這一點。我正在將它加載到viewDidLoad()之內。我知道這是不對的做,但只是爲了測試:

func fetchBrands(){ 
    ref = FIRDatabase.database().reference() 
    ref.observeSingleEventOfType(.Value, withBlock: { snapshot in 

     if !snapshot.exists() { return } 

     //print(snapshot) 

     if let snusBrand = snapshot.value!["Brands"] as? String { 
      print(snusBrand) 
     } 

     // snapshot.childSnapshotForPath("full_name").value as! String 
    }) 


} 

我做錯了什麼?我還設置了readwrite規則從火力地堡true

它打印的唯一的事情是這樣的:

enter image description here

+0

你得到什麼錯誤? 「print(snusBrand)'打印什麼? – adolfosrs

+0

@adolfosrs它唯一打印的是一些關於代理的長文本等。檢查編輯。 –

+0

使用'snapshot.key'來獲取每個文檔的關鍵字。 – Odonno

回答

2

您可以嘗試更新裁判直接指向子品牌和迭代在返回的快照像這樣:

ref = FIRDatabase.database().reference().child("Brands") 

ref.observeEventType(.Value, withBlock: { snapshot -> Void in 
    for brands in snapshot.children { 
     print(brands) 
    } 
    }) 
+0

什麼都沒有:( –

+0

hmm,嘗試:'ref = FIRDatabase.database()。reference()。child(「Snuses」)。child(「Brands」)' –

+0

應該使用'child_added'事件和'key'屬性每個快照 – Odonno