Firebase 接收新推送的子级的通知

Firebase 接收新推送的子级的通知,firebase,Firebase,我正在.push()进入firebase引用 我希望听众能够在线,然后只收到新的.push()ed孩子的通知 因此,如果节点已经包含5个子节点,并且客户端到来并希望收到新子节点的通知,并且推送了2个子节点,那么客户端应该只收到2个通知 现在使用.on('child_added',function…联机时,客户端不仅会收到新消息,还会收到所有旧消息。这是我想避免的第二部分 我也尝试过使用.startAt().limit(1).,但这似乎也没有达到预期效果。我不确定它到底在做什么,但肯定不是我所期望

我正在
.push()
进入firebase引用

我希望听众能够在线,然后只收到新的
.push()
ed孩子的通知

因此,如果节点已经包含5个子节点,并且客户端到来并希望收到新子节点的通知,并且推送了2个子节点,那么客户端应该只收到2个通知

现在使用
.on('child_added',function…
联机时,客户端不仅会收到新消息,还会收到所有旧消息。这是我想避免的第二部分

我也尝试过使用
.startAt().limit(1).
,但这似乎也没有达到预期效果。我不确定它到底在做什么,但肯定不是我所期望的。

startAt()返回最早(第一个)的记录,其中endAt()返回最后(最新)的记录,假设您使用push()存储它们

因此,这将为您提供最新的条目:

 ref.endAt().limit(1)

请记住,您收到的第一条记录将是以前存在的,因此在只有用户联机后添加的数据才有价值的用例中,应该将其丢弃。

Kato,这个答案几乎是正确的。我所看到的唯一差异是,我没有必要放弃第一个。你说的有道理(基于我的理解),但这不是我所看到的。哦,非常感谢。我肯定把startAt和endAt的顺序搞混了