如何从Firestore集合内的文档中的集合中获取实时更新?

时间:2019-02-24 19:58:48

标签: firebase vue.js google-cloud-firestore

在我的情况下,有一个名为users的集合,其中包含users个文档。每个user都有一个名为reviews的集合。

所以可以说,我要呈现一个users的列表,并在该列表中每个user的后面,我要显示他们获得的评论数量,并且希望该数量自动更新。 / p>

我正在使用Vue.js,因此在我的情况下,我尝试呈现用户列表,并为每个ListItem组件尝试在created() {}选项中设置侦听器。

created() {
  listenForRateUpdates('uidOfThisUser')
}

上面的功能是从另一个firebaseApi.js文件导入的。

export function listenForRateUpdates(uid) {
  setListener(uid, 'reviews')
}

function setListener(uid, type) {
  db.collection("users").doc(uid).collection(type).onSnapshot(result => {
    console.log('updated received')
    store.commit('updateRating', {
      [type]: result.size,
      uid
    })
  })
}

由于某些原因,当我知道已添加评论时,我从未从Firebase获得任何更新。

我也有三种类型的评论(我在上面简化了我的代码),所以如果a有30个用户的列表,我突然会有90个firebase监听器,这似乎效率很低。

我是Firebase的Firestore的新手,所以我可能做错了这个方法。

0 个答案:

没有答案