早上好,我正在構建應用程式的一部分,用戶可以在其中添加團隊成員。使用 set 函式在 firestore 中創建了我想要的陣列,但我無法向更多團隊添加新索引到該陣列。用戶應該能夠添加任意數量的。在做了一些搜索之后,我認為更新函式中的 arrayUnion 選項可以滿足我的需求,但是當我從表單中添加更多資料時,索引 [0] 中的資料只會被覆寫而不是填充索引 ['1']。下面是一些可以說明我的問題的圖片。
這是到目前為止回傳結果的代碼

檔案 id 是用戶 uid,我想保持這種方式來查詢與該用戶關聯的所有團隊,如何將新索引添加到與當前用戶具有相同檔案 ID 的現有陣列中?如果陣列在這里不可行,我還嘗試用一個物件獲得我想要的結果,但這并沒有按照我需要的方式更新。
uj5u.com熱心網友回復:
好的,我建議更改方法,在每個用戶檔案中創建一個集合而不是一個陣列。一些好處是,您不僅限于檔案可以具有的 1mb 限制,而且查詢對集合更健壯。
要添加新的團隊成員,您將使用該.add()方法,并且對于查詢,您有更多內置選項。查詢檔案
這是關于使用子集合或陣列之間差異的另一個主題
編輯
對于您最初的問題,問題在于在 Firestore 中,您的陣列是一個地圖(物件)陣列,但您正在使用各個欄位呼叫 arrayUnion。考慮這樣的事情:
db.collection("Teams").doc(uuid).update({
team: firebase.firestore.FieldValue.arrayUnion(
this.team // object { selected: true, firstName: "abc", ... }
)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/337407.html
標籤:javascript 火力基地 Vue.js 谷歌云firestore
