首页 > 解决方案 > Doc.data() 不返回所需的文档,尽管 doc.id 将 id 返回到该文档

问题描述

在将一个 id 数组映射到 ref.doc(id) 后,它会返回该集合中具有该 id 的所有记录。但我似乎无法使用 doc.data() 获取文档

let rawdata = fs.readFileSync('data.json');  
let cleanData = JSON.parse(rawdata);  

let tracksArr = []
let albumsArr = []


cleanData.forEach(v => {
  if (v.Target == "tracks") {
    tracksArr.push(v.TargetID)
  } else if (v.Target == "album") {
    albumsArr.push(v.TargetID)
          }})


var ref = firedb.collection("tracks");
// Map the Firebase promises into an array
const itemPromises = tracksArr.map(id => {
  return ref.doc(id)
})


// Wait for all the async requests mapped into 
// the array to complete
Promise.all(itemPromises)
  .then(function(snapshot) {
    snapshot.forEach(function(doc) {
      console.log(doc.data())
    })
    })
  .catch(err => {
    console.log(err)
  })

我应该在控制台上获取文件。但它说 doc.data() 不是一个函数。有人能帮助我吗?

标签: node.jsexpressgoogle-cloud-firestore

解决方案


推荐阅读