使用 Firestore 更新物件陣列
在 Firestore 中,更新物件陣列可能是一項複雜的任務。在這裡,我們解決了這個問題,並提供了一個解決方案來解決合併資料時面臨的挑戰。
問題
通常,修改 Firestore 中的陣列需要取代整個陣列。使用 SET 方法會覆寫數組,而 UPDATE 方法執行相同的操作。當嘗試更新物件數組中的單一元素時,此行為會造成限制。
解決方案
Firestore 現在提供兩種管理數組的方法,而無需覆蓋整個數組:
要使用這些方法更新物件數組,請依照下列步驟操作:
範例程式碼
<code class="javascript">// Add an element to the "sharedWith" array firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayUnion({ who: "[email protected]", when: new Date() }) }); // Remove an element from the "sharedWith" array firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({ who: "[email protected]", when: timestamp }) });</code>
透過使用arrayUnion() 和arrayRemove( ),您可以無縫更新Firestore 中的物件數組,確保更改合併到現有數組中而不覆蓋它。
以上是如何更新 Firestore 中的物件陣列而不覆寫整個陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!