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

标签 ios swift firebase firebase-realtime-database

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

enter image description here

最佳答案

首先,您在数据库中获取 convolist 引用

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

然后你需要迭代你的 convolist 中的所有元素并计算你的对话新子元素

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

关于ios - 如何快速观察firebase数据库中子子节点的值变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52365649/

相关文章:

iphone - 如何将 NSArray 输出连接到以逗号分隔的 NSString

iphone - 立即检测 iOS 方向变化

ios - SnapKit 和动态 UITableViewCell 布局不正确

ios - 如何在不同的方向上改变 View

firebase - 将 google 分析迁移到 SDK Firebase : can I keep my actual property?

java - Set.value 用新数据替换现有数据

ios - 在启动画面期间隐藏状态栏

ios - 动画 UIImageView 高度约束空白

java - 在 Android 中使用 firestore 仅使用用户名和密码进行身份验证

ios - 为什么在 ARKit 中将节点添加到检测到的平面下方