首頁 > web前端 > js教程 > 主體

如何更新 Firestore 中陣列欄位中的單一項目?

Susan Sarandon
發布: 2024-11-19 07:46:02
原創
852 人瀏覽過

How Can I Update a Single Item in an Array Field in Firestore?

更新Firestore 中數組字段中的單一項目

您在Firestore 文件中有一個名為items 的數組字段,並且您想要想要更新數組中某個物件內的欄位。

初始嘗試

您最初的嘗試使用了以下程式碼:

const key = `items.${this.state.index}.meta.description`
const property = `hello bar`;

this.design.update({
  [key]: property
})
...
登入後複製

但是,這刪除了指定數組索引處的整個物件,只留下描述欄位。

修改後的嘗試

您的修改後的嘗試使用了以下內容code:

const key = `items.${this.state.index}.meta`
const property = e.target.value;
let meta = this.state.meta;
meta[e.target.id] = property;

this.design.update({
  [key]: meta
})
...
登入後複製

這似乎將items 數組轉換為一個對象,遺失了數組結構。

Firestore 的限制

Firestore 有以下限制:更新陣列欄位。它只允許新增或刪除元素,而不允許修改現有元素。

解決方案

要修改數組字段中的項目,需要讀取整個數組,內存中進行必要的更改,然後更新整個修改後的數組字段。

const items = this.design.get("items"); // Read the array field
items[this.state.index].meta.description = "hello bar"; // Modify the item
this.design.update({
  items: items // Update the entire modified array
})
...
登入後複製

透過使用此方法,您可以更新陣列中的特定項目欄位不遺失陣列結構。

以上是如何更新 Firestore 中陣列欄位中的單一項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板