代码之家  ›  专栏  ›  技术社区  ›  Armeen Moon

获取整个集合上的云FireStore的实时更新

  •  0
  • Armeen Moon  · 技术社区  · 6 年前

    我试着跟着这个 SO 但我仍然无法记录数据。

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

    片段:

    return await db.collection("articles")
        .onSnapshot((docs) => {
          console.log("Docs data: ", docs.map(doc => doc.data()); // wont work
        });
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Frank van Puffelen    6 年前

    当你听一个完整的收集,你会得到一个 QuerySnapshot . 您需要循环使用它来获取单个文档:

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

    更新 我现在看到你正在访问 docs 如果它是一个数组。文档数组位于 文档 属性,因此:

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