使用Cloud Firestore获取整个馆藏的实时更新

时间:2019-01-20 17:20:13

标签: javascript google-cloud-firestore

我尝试遵循此SO,但仍然无法记录数据。

问题:  如何解开集合中所有文档的数据?

摘要:

return await db.collection("articles")
    .onSnapshot((docs) => {
      console.log("Docs data: ", docs.map(doc => doc.data()); // wont work
    });

1 个答案:

答案 0 :(得分:1)

当您收听整个收藏集时,您会得到QuerySnapshot。您需要对其进行遍历以获得单个文档:

return await db.collection("articles")
    .onSnapshot((querySnapshot) => {
      querySnapshot.forEach((doc) => {
        console.log("Docs data: ", doc.data());
      })
    });

更新我现在看到您正在访问docs,就像它是一个数组一样。该文档数组位于查询快照下的docs属性中,因此:

return await db.collection("articles")
    .onSnapshot((querySnapshot) => {
      console.log("Docs data: ", querySnapshot.docs.map(doc => doc.data()); 
    })