我有相当大的数据集,可能有数百万个对象,我需要触发child_added
事件并获取最后添加的子节点。但是,每当我启动服务时,它都会为数据集中的每个初始子项触发一次事件。
我该如何避免这种行为?
编辑:
建议的解决方案并没有解决问题 - 在我看来它只是忽略了它。在我的具体情况下,我将对其他对象的唯一引用存储为name
,它的value
是其他重要数据。记录的优先级设置为我的案例时间戳中的特定数字。我使用它来检索记录以构建时间轴,因此我需要选择使用自定义时间戳保存新对象 - 不仅是当前时间戳。事件.on()
上的监听器child_added
完全满足需要,除了在开始时抓取所有孩子。在我看来,这个功能在任何大型系列中都绝对没有意义。
答案 0 :(得分:3)
您可以使用limit(1)
。然后听众将在开始时触发一次,然后在每次添加新孩子时再次触发。
fireRef.limit(1).on('child_added', function() { /*code*/ });