Javascript 如何检查firestore文档是否有特定字段

Javascript 如何检查firestore文档是否有特定字段,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我有一个云函数,可以获取集合中的所有文档。在获得所有文档后,我需要检查每个文档中是否存在一个字段,比如“link”。如果文档没有“链接”字段,我将使用链接更新该文档。顺便说一句,“链接”是最近添加的,所以有些文档有,有些没有。是否有方法检查该字段是否已在文档中 const taskCol = await firestore.collection('/tasks/').get(); taskCol.forEach(task=>{ const taskData = task.data

我有一个云函数,可以获取集合中的所有文档。在获得所有文档后,我需要检查每个文档中是否存在一个字段,比如“link”。如果文档没有“链接”字段,我将使用链接更新该文档。顺便说一句,“链接”是最近添加的,所以有些文档有,有些没有。是否有方法检查该字段是否已在文档中

const taskCol = await firestore.collection('/tasks/').get();

taskCol.forEach(task=>{
    const taskData = task.data();

    //check if field is existing. 
    if(taskData.link == null){ //THIS PART IS NOT WORKING
    //i tried taskData.get('link') == null -->not working
   //i tried taskData.link.exist() == true -->not working either


    //create  link
    taskData.dynamicLink = createLink();

    //update the task doc here
    /*my update task code is here*/
    }


});

下面的方法可以解决这个问题:

taskCol.forEach(task => {
    const taskData = task.data();

    //check if field is existing. 
    if (taskData.link)  {
          ....
    }

    ...
});

实际上,该方法返回一个“标准”JavaScript对象(或
未定义的
)。

非常感谢您的回答。我将尝试它,并将所有的更新链接部分放在else部分。再次感谢你。