如何快速观察Firebase数据库中子节点的值变化?

时间:2018-09-17 10:27:14

标签: ios swift firebase firebase-realtime-database

我有一个firebase实时数据库,其中存储了一些开放的讨论论坛聊天数据,现在要添加功能,我需要o知道在特定讨论主题下有多少新文本消息。 下面附上一个屏幕截图,以更好地了解表结构 我需要从convo list部分的父节点中找到convo部分下添加了多少个新子代。

enter image description here

2 个答案:

答案 0 :(得分:0)

首先,您在数据库中获得了卷积清单参考

private lazy var convolistReference: FIRDatabaseReference = FIRDatabase.database().reference().child("convo")

然后,您需要遍历清单列表中的所有元素并计算对话中的新孩子数

convolistReference.observeSingleEvent(of: .value, with: { (snapshot) in
    for snap in snapshot.children {
       if let snap = snap as? FIRDataSnapshot {
          if let value = snap.value as? [String: Any] {
              if let convo = value["convo"] as? [[String: Any]] {  
                  print(convo.count.description) // here you get number of childs for every convo that you might have
              }
          }        
       }
    }
}

答案 1 :(得分:0)

像这样使用:


var DBref = Database.database().reference()

DBref.root.child("users_1").child("-mdnhrgdyahejkdds").updateChildValues(["blocked": "Change Your Value"])