更新 child 时触发 OnChildAdded

OnChildAdded is triggered when a child is updated

我有一个节点'Message'。我已将侦听器附加到 'Message' 的 parent,以便在添加 child 时触发它。 但是,当我将 child 添加到现有 'Message' [say- seen:true] 时,也会触发 onChildAdded。 我错过了什么吗? 此外,如果有一些解决方法可以避免这种情况,那将非常有帮助。 我只需要更新 'Message' 中的值,而无需再次获取所有 'Messages'。

如果没有看到您的代码,很难确定,但很可能您正在听树的更高层。 onChild... 方法在附加侦听器的 place/query 的直接子节点上工作。

假设你正在听 /Messages 在树上。

添加新消息时,将调用您的 onChildAdded 方法。这是因为在 /Messages.

下添加了一条新消息

但是,如果您向现有消息添加新的 seen 属性,这意味着没有添加新消息,因此将调用您的 onChildChanged 方法来接收消息你添加了一个 属性.