簡體   English   中英

Firebase firestore 不保存數組數據

[英]Firebase firestore not saving array data

在過去的幾天里,我一直在努力解決這個問題。 我正在嘗試將數據保存到 firebase 集合中。 但是,firebase 拒絕保存字符串數組。 除了顯示為空的數組外,所有內容都已保存。 但我確定數組不是空的。 我什至在 function 中打印出來,它可以工作。

uploadTask(taskForm: any, attachedFiles: Array<any>) {
    console.log(attachedFiles);
    const task = this.fireStore
      .collection('tasks')
      .doc(this.userId + uuidv4())
      .set({
        title: taskForm.title,
        description: taskForm.description,
        subject: taskForm.subject,
        urgency: taskForm.urgency,
        budget: taskForm.budget,
        time: taskForm.time,
        files: attachedFiles,
      })
      .then(() => {
        console.log('Document successfully written!');
      })
      .catch((error) => {
        console.error('Error writing document: ', error);
    });
}

當您使用“設置”時,您正在使用該文檔的 id 或字段修改已經存在的文檔。 如果我理解您的問題,您正在嘗試創建一個全新的文檔,因此您必須改用“添加”方法。 請記住,firestore 將為創建的每個文檔自動創建自己的唯一 ID。 您無需指定 ID。

因此,您的代碼應讀作

 uploadTask(taskForm: any, attachedFiles: Array<any>) { const task = this.fireStore.collection('tasks').add({ /*<===use add here*/ title: taskForm.title, description: taskForm.description, subject: taskForm.subject, urgency: taskForm.urgency, budget: taskForm.budget, time: taskForm.time, files: attachedFiles, }).then(() => { console.log('Document successfully written;'). }).catch((error) => { console:error('Error writing document, '; error); }); }

這個答案可能會幫助您[firestore set 和 add 之間的區別][1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM