Javascript 数据库未更新

Javascript 数据库未更新,javascript,google-cloud-firestore,google-cloud-storage,firebase-storage,Javascript,Google Cloud Firestore,Google Cloud Storage,Firebase Storage,以前,我的数据库已成功更新,但在我需要将文档上载到存储器后,我的数据库停止更新。字段保持不变 首先,我删除旧文件,然后上载新文件并替换数据库中的文件名。并更新所有数据 文件已成功更新,但数据未更新 export const UpdateProject=data=>async( 派遣 getState, {getFirestore,getFirebase} ) => { const firestore=getFirestore(); const firebase=getFirebase(); 试

以前,我的数据库已成功更新,但在我需要将文档上载到存储器后,我的数据库停止更新。字段保持不变

首先,我删除旧文件,然后上载新文件并替换数据库中的文件名。并更新所有数据

文件已成功更新,但数据未更新

export const UpdateProject=data=>async(
派遣
getState,
{getFirestore,getFirebase}
) => {
const firestore=getFirestore();
const firebase=getFirebase();
试一试{
等待火库
.收集(“任务”)
.where(“idMission”,“==”,data.idMission)
.get()
。然后(snap=>{
snap.forEach(doc=>{
让project=doc.data();
火基
.储存
.refFromURL(
`gs://nospace-92826.appspot.com/Missions/${project.idMission}/${project.NameDoc}`
)
.delete();
});
});
等待火力基地
.储存
.ref(`Missions/${data.idMission}/`+data.document.name)
.put(数据文件);
data.NameDoc=data.document.name;
删除数据文件;
等待火库
.收集(“任务”)
.doc(data.idMission)
.update({…data});
}捕获(错误){}

};可更新字段不能未定义,我认为在发送时会忽略它们

我只是删除了它们

删除FormData.LinkBoss
删除FormData.LinkWorker
删除FormData.TextDone

删除FormData.MissionDoneTitle
我建议不要将async/await与then/catch混用。如果只使用async/await,那么对代码进行推理就更容易了。特别是,仔细考虑从
delete()
返回的承诺,您的代码将忽略该承诺。添加调试日志可能会帮助您了解发生了什么用于?如果要更新
文档
字段,则应在此处设置新属性。如果要从数据库中删除该字段,请将其设置为
null
@JoshuaChan,因为firestore不支持文件数据类型,所以我调用delete。数据库中不需要此数组字段