我的应用程序需要我在Heroku上托管的监控服务,它根据用户帐户的更改来监控,更正和修改数据。但是,用户帐户中的某些字段会以极快的速度更新,并且所有这些帐户都是垃圾邮件,我的数据监控服务效率非常低。
是否可以在侦听child_changed
时忽略字段,以便不会触发回调并且永远不会下载数据?根据用户的速度,我可能会在我的监控应用程序上每秒下载几百个帐户,而这只会引发火灾。
以下是我正在寻找的一个例子:
{
name: 'Jimmy',
birthday: 'Mar 23, 1976',
biography: 'Random text',
interests: {
// ...
}
}
也许我想忽略biography
字段,因此child_added
功能只有在下列值之一发生更改时才会下载新帐户信息:
并且如果biography
字段发生更改,则应忽略数据并且不下载数据,因为它不是与我的监视器相关的字段,只是浪费带宽。
答案 0 :(得分:1)
Firebase始终同步完整节点。如果要仅从节点列表中同步每个节点的子集,则应将该子集分离到其自己的顶级节点中。
profiles: {
uidJimmy: {
name: 'Jimmy',
birthday: 'Mar 23, 1976',
biography: 'Random text',
}
},
interests: {
uidJimmy: {
// ...
}
}
使用Firebase(或大多数其他NoSQL数据库)时,您会发现这是常见的:您必须根据应用程序想要使用它的方式对数据建模。我强烈建议您在NoSQL data modeling上阅读这篇文章。