Firebase观察types.childAdded每次检索我的所有信息。 请协助

根据Firebase文档:

为每个现有的孩子触发一次ChildAdded,然后每次将新的孩子添加到指定的path时再次触发

所以,我有一个应用程序,每当用户收到新消息时,popup一个顶部的小横幅。 您可能已经猜到了,这些消息存储在Firebase中的用户对象的子项中。 所以,这是问题,当我加载应用程序,它popup每个用户的消息。 只有在添加新的孩子时才可以调用这个观察事件吗? 我不希望每个现有的孩子都被触发,只有当新的孩子被添加。 我不愿意将核心数据中的消息引用存储起来,并且检查每个孩子是否已经存在于核心数据中:/

几个方法来做到这一点:

  • 启动时使用ref.queryLimitedToLast(1) 。 看到Firebase,只有新的孩子 。
  • 跟踪您本地存储中获得的最新密钥,然后使用queryOrderByKey() .queryStartingAtValue(latestKey)
  • 将时间戳添加到项目,然后queryOrderByChild("timestamp") .queryStartingAt(now)为时间戳> =现在的项目。 了解如何放弃Firebase数据库中的初始数据