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

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

最佳答案

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

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
              }
          }
       }
    }
}

07-27 21:46