如何检查Firestore文档是否具有特定字段

时间:2019-04-24 09:31:56

标签: javascript firebase google-cloud-firestore google-cloud-functions

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

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*/
    }


});

1 个答案:

答案 0 :(得分:1)

以下将解决问题:

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

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

    ...
});

实际上,data()方法返回一个“标准” JavaScript对象(或undefined)。