在 Firestore 中輕鬆更新陣列
使用 Firestore 時,您可能會遇到需要更新文件中的陣列的情況。雖然這似乎是一項簡單的任務,但要完美地實現它,需要了解 Firestore 的特定功能。
傳統上,嘗試使用 .set() 和 merge: true 或 .update() 等技術更新數組通常會導致結果覆蓋數組的內容。不過,Firestore 現在提供了兩個優雅的函數,讓您能夠無縫添加和刪除數組元素:
例如,假設您有一個具有以下結構的文件:
{ proprietary: "John Doe", sharedWith: [ {who: "[email protected]", when: timestamp}, {who: "[email protected]", when: timestamp}, ], }
要為共用陣列新增項目,可以使用下列語法:
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayUnion( {who: "[email protected]", when: new Date()} ) });</code>
類似地,要從數組中刪除元素,請使用以下方法:
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({who: "[email protected]"}) });</code>
透過利用這些專門的函數,您可以放心地更新Firestore 文件中的數組,而不必擔心不必要的覆蓋。請記得參閱 Firestore 官方文件以取得詳細範例和特定場景的指導。
以上是如何在不覆寫的情況下更新 Firestore 中的陣列:「arrayUnion」和「arrayRemove」指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!