使用Firebase数据库中的第二个.child方法检索数据

时间:2017-08-18 12:17:08

标签: swift firebase firebase-realtime-database

要解释我的问题,您需要先查看我的数据库结构:

Datastructure

我想要做的是只从节点“1000”中检索名称 这就是我到目前为止所做的:

var datref: DatabaseReference!
    datref = Database.database().reference()
    datref.child("QRBereich").child("1000").observe(.childAdded, with: { (snapshot) in

        if let dict = snapshot.value as? [String: AnyObject]{

            let qrbar = QRBar(dictionary: dict)
            qrbar.setValuesForKeys(dict)

            qrbarname.append(qrbar.Name!) }
    }

        , withCancel: nil)

但这给了我一个空数组。当我删除“.child(”1000“)”我收到节点1000(barracuda)和2000(deluxxe)的名字。但我需要的只是节点1000中的“Barracuda”这个名字。

QRBar是一个模型,编写如下:

import Foundation
class QRBar: NSObject {
var Name: String?

init(dictionary: [String: Any]) {
    self.Name = dictionary["Name"] as? String ?? ""


}
}

1 个答案:

答案 0 :(得分:0)

看起来您需要.value事件:

datref.child("QRBereich").child("1000").observe(.value, with: { (snapshot) in

如果您正在为.childAdded下的所有孩子聆听,请使用QRBereich