在侦听特定Firestore文档的更改时如何获取新数据?

时间:2019-04-27 20:54:25

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

当Firestore文档中的某些内容发生更改时,我需要获取新数据(示例文档:“游戏”中的文档:“ 1234”)。我是否需要使用以下代码监听更新:

var doc = db.collection('games').doc('1234');

var observer = doc.onSnapshot(docSnapshot => {
  console.log(`Received doc snapshot: ${docSnapshot}`);
  // ...
}, err => {
  console.log(`Encountered error: ${err}`);
});

然后运行一个函数以获取新数据

   // ...

是吗?

我尝试使用docSnapshot.data获取数据,但似乎只有一些有关Firebase的信息,例如doc,这些信息已更新...

有没有比上面显示的更好的方法了?

1 个答案:

答案 0 :(得分:0)

您是正确的;要听文档的更改,应在给定集合上使用onSnapshot方法。以您的示例为例:

db.collection('games').doc('1234').onSnapshot(doc => {
  console.log(`Received data:`, doc.data());
}, err => {
  console.log(`Encountered error:`, err);
});