我在firebase中有这样的数据结构

posts: {
  post1-uid: {
    likedCount: 10
    ... other properties ...
  }
  post2-uid: {
    likedCount: 2
    ... other properties ...
  }
}


每当值更改时,我想自动为javascript中的任何给定帖子(例如post1)再次自动获取likedCount

我尝试使用

var likedCount;
post1Ref.on("child_change", snapshot => {
    likedCount = snapshopt.val();
});


但是,当更新other properties中的post1时,也会触发侦听器。我需要添加if else条件吗?看来我走错了路..
实现目标的优雅方法是什么?

最佳答案

如果您希望侦听器仅读取很小的数据,则只需以不同的方式构造数据,然后将引用指向LikedCount的新父级即可。

posts: {
  post1-uid: {
    metrics: {
      likedCount: 10
    },
    ... other properties ...
  }
}

10-02 14:17