【问题标题】:How to check if firestore document have a particular field如何检查firestore文档是否具有特定字段
【发布时间】:2019-04-24 09:31:56
【问题描述】:

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

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


});

【问题讨论】:

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


    【解决方案1】:

    以下方法可以解决问题:

    taskCol.forEach(task => {
        const taskData = task.data();
    
        //check if field is existing. 
        if (taskData.link)  {
              ....
        }
    
        ...
    });
    

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

    【讨论】:

    • 非常感谢您的回答。我会尝试一下,并将所有更新链接部分放在其他部分中。再次感谢您。
    猜你喜欢
    • 1970-01-01
    • 2020-06-08
    • 2023-02-10
    • 2018-08-28
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-07-22
    • 2015-07-21
    相关资源
    最近更新 更多