iOS上的Firebase:观察特定数据

时间:2016-10-25 09:56:02

标签: ios firebase firebase-realtime-database

是否可以仅观察我的iOS应用写入Firebase数据库的特定数据集?

详细阐述:
我在Firebase中有一个数据库,用于存储每个用户的一些数据(名称,电子邮件,didCompleteCourse)。
这个数据(针对每个用户)由我的iOS应用程序写入Firebase。
稍后,服务器端脚本会根据其他地方收集的某些数据为每个用户更新“didCompleteCourse”。基本上,它会在每个用户记录中切换该属性的标志。

现在,我希望通过观察何时仅针对那些/那些用户更改此标志来通知(如果多个用户登录进入我在特定设备上的应用程序)其数据通过我的iOS应用程序从特定设备发送到firebase。

任何类型的代码都会有所帮助。

1 个答案:

答案 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 :当子节点相对于某个位置的其他子节点移动时触发

  • :在某个位置发生任何数据更改时触发,并递归地触发任何子项