【问题标题】:Get realtime updates with Cloud Firestore on entire collection使用 Cloud Firestore 获取整个集合的实时更新
【发布时间】:2019-01-20 17:20:12
【问题描述】:

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

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

片段:

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

【问题讨论】:

  • 在你用它做任何其他事情之前,日志或调试器表明你在docs 中得到了什么?仅供参考 onSnapshot 不返回承诺,因此等待它没有意义。

标签: javascript google-cloud-firestore


【解决方案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()); 
    })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2019-12-24
    • 2018-03-18
    • 1970-01-01
    • 2019-02-14
    相关资源
    最近更新 更多