是否可以仅观察我的iOS应用写入Firebase数据库的特定数据集?
详细阐述:
我在Firebase中有一个数据库,用于存储每个用户的一些数据(名称,电子邮件,didCompleteCourse)。
这个数据(针对每个用户)由我的iOS应用程序写入Firebase。
稍后,服务器端脚本会根据其他地方收集的某些数据为每个用户更新“didCompleteCourse”。基本上,它会在每个用户记录中切换该属性的标志。
现在,我希望通过观察何时仅针对那些/那些用户更改此标志来通知(如果多个用户登录进入我在特定设备上的应用程序)其数据通过我的iOS应用程序从特定设备发送到firebase。
任何类型的代码都会有所帮助。
答案 0 :(得分:1)
尝试使用: -
FIRDatabase.database().reference().child("_yourRef").observe(.childChanged, with: { (SnapShot) in
print(SnapShot.value)
}, withCancel: {(Error) in
print(Error.localizedDescription)
})
这将在您的用户应用程序中创建一个单独的网络线程,并且每当您的数据库节点更改其值时,您的此completionBlock将被触发,并且检索到的数据将仅更改子节点,而不是整个节点消耗您的带宽。
<强> FIRDataEventType 强>&#39; S: -
childAdded :将新子节点添加到某个位置时触发
childRemoved :从某个位置移除子节点时触发
childChanged :在某个位置的子节点发生变化时触发
childMoved :当子节点相对于某个位置的其他子节点移动时触发
值:在某个位置发生任何数据更改时触发,并递归地触发任何子项