我有一个应用程序,我想在其中加载一些初始数据(完成Firebase.once('value')),然后在某个时候我想要接收已添加到该Firebase引用的子节点的事件.
为此,我想使用Firebase.on('child_added'),但根据定义(并在实践中看到),它首先加载Firebase引用的所有数据.
有没有办法解决这种行为,只监听child_added事件.此外,像转储初始数据集这样的解决方法不是解决方案(想象一下拥有超过一百万个数据点的数据集 - 我不希望每个数据点都只是为了在添加一个数据点时进行监听!).
编辑:Firebase.on('child_added')可以结合使用limit()来限制初始请求产生的数据量.可能对我的应用程序来说,在某个时间点只会向Firebase添加一个数据点,因此我使用了Firebase.limit(1).on('child_added')哪个数据点来限制加载到单个数据点的初始数据量.但是,我不喜欢这种解决方法有两个原因:
limit(1)限制应用程序接收所有添加的子项?我不确定是否是这种情况,或者是否child_added会为每个添加的孩子调用,无论他们是否作为批次添加.似乎提供一个true/false标志作为调用的参数将是一个很好的解决方案,但我会等待,看看是否有一个我一直在掩饰的答案...
我在 Firebase 中有一个节点,不断更新日志文件中的信息。节点是lines/并且其每个子节点都lines/来自 a,post()因此它具有唯一的 ID。
当客户端第一次加载时,我希望能够获取最后一个X条目数。我希望我会用once(). 但是,从那时起,我想使用on()withchild_added来获取所有新数据。但是,child_added获取存储在 Firebase 中的所有数据,并且在初始设置后,只需要新的东西。
我看到我可以在limitToLast()上添加on(),但是,如果我说limitToLast(1)并且大量条目进入,我的应用程序是否仍会获得所有新条目?有没有其他方法可以做到这一点?