我有一个云功能,可以获取集合中的所有文档。获取所有文档后,我需要检查每个文档中是否存在一个可以说“链接”的字段。如果文档没有“链接”字段,我将使用链接更新该文档。顺便说一句,“链接”是最近添加的,因此有些文档有它,有些则没有。有没有一种方法可以检查该字段是否已在文档中?
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*/
}
});
答案 0 :(得分:1)
以下将解决问题:
taskCol.forEach(task => {
const taskData = task.data();
//check if field is existing.
if (taskData.link) {
....
}
...
});
实际上,data()
方法返回一个“标准” JavaScript对象(或undefined
)。