根据Firebase文档:
每个现有子项触发一次ChildAdded,每次将新子项添加到指定路径时再触发一次
所以,我有一个应用程序,每当用户收到新消息时,顶部会弹出一个小横幅。您可能已经猜到,这些消息存储在Firebase中的用户对象中的子项中。所以,这就是问题,当我加载应用程序时,会弹出用户所拥有的每条消息。是否可以在添加新孩子时调用此观察事件?我不希望每个现有的孩子都被触发,只有在添加新孩子时才会触发。我不想在核心数据中存储消息引用,并检查每个孩子是否已经存在于核心数据中:/
答案 0 :(得分:10)
有几种方法可以做到这一点:
ref.queryLimitedToLast(1)
。见Firebase, only get new children。 queryOrderByKey()
.queryStartingAtValue(latestKey)
queryOrderByChild("timestamp")
.queryStartingAt(now)
添加时间戳> =现在的商品。请参阅how to discard initial data in a Firebase DB