首页 > 解决方案 > 无法访问集合 Firestore 中的文档

问题描述

我有一组来自 firestore 的对象all_categories

let docID = getStoreID();
    let all_categories = [];
    db
        .collection("STORES")
        .doc(docID)
        .collection("CATEGORIES")
        .orderBy("CAT_ADDED_ON","desc")
        .limit(5).get().then((querySnapshot) => {
          querySnapshot.forEach((doc) => {
            all_categories.push(doc.data())
          })
    })

当我console.log(all_categories)它显示它有 2 个对象但是当我尝试遍历它们时它显示undefiened

像这样:

all_categories.forEach(category => {
  console.log(category)
})

控制台不打印任何内容。

可能是什么问题?

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


从数据库中检索数据是一个异步过程,您可以then像这样在前一个完成后将另一个附加到它,它将运行后一个。

 db.collection("STORES")
 .doc(docID)
 .collection("CATEGORIES")
 .orderBy("CAT_ADDED_ON","desc")
 .limit(5)
 .get()
 .then((querySnapshot) => { querySnapshot.forEach((doc) => { all_categories.push(doc.data())})
 .then(()=>{ all_categories.forEach(category => { console.log(category) })
  })

推荐阅读