首页 > web前端 > js教程 > 正文

如何更新 Firestore 中数组字段中的单个项目?

Susan Sarandon
发布: 2024-11-19 07:46:02
原创
858 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板