如何编辑firestore中存在的数组元素[重复]

Posted

技术标签:

【中文标题】如何编辑firestore中存在的数组元素[重复]【英文标题】:how to edit an array element present in firestore [duplicate] 【发布时间】:2020-09-04 14:15:27 【问题描述】:

我在 Firestore 中有一个字符串数组。我想编辑存在于特定索引处的字符串。我怎样才能做到这一点?

例如,设数组为["help","me","please"];

如何在颤振中将“帮助”更改为“不帮助”?

我最接近编辑数组的是添加一个元素,我通过 FieldValue.arrayunion() 来完成。

是否可以编辑存在于特定索引处的元素?还是我必须获取整个数组,在本地更新它,然后上传整个数组?

【问题讨论】:

【参考方案1】:

单次更新是不可能的。你必须完全按照你说的做:读取文档,更改内存中的数组,将新数组写回文档。

【讨论】:

【参考方案2】:

是否可以编辑存在于特定索引处的元素?

这是不可能的。

还是我必须获取整个数组,在本地更新,然后上传整个数组?

这确实是一种选择。另一个选项是use an arrayUnion() and arrayRemove(),如果数组中的项目是唯一的,它就可以工作。

另见:

Flutter: Update specific index in list (Firestore) Flutter: How to update an Array within an Array in the firestore

【讨论】:

以上是关于如何编辑firestore中存在的数组元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 BigQuery 中从 firestore 导出的数组中查找元素

如何在 Flutter 的 Firestore 中向数组中添加相等的元素?

如何在JavaScript / Jquery中对另一个数组中已经存在的数组元素进行切片[重复]

如何更新firestore中的数组[重复]

如何使用 Android 更新 Firestore 中的数组元素?

如何检查某个数据是不是已存在于firestore中