首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Firestore中更新数组项

如何在Firestore中更新数组项
EN

Stack Overflow用户
提问于 2018-12-13 04:33:00
回答 2查看 2.8K关注 0票数 1

根据新的Firestore文档,我看到了两个用于处理文档中嵌套数组的新方法(arrayUnion,arrayRemove)。这些方法允许您添加和删除数组项,但是如何更新现有元素呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-13 16:24:46

没有update方法,因为如果要执行更新,则需要知道该特定元素的索引。在谈到Cloud Firestore阵列时,事情可能与您想象的不同。

因为我们正在创建可以在多用户环境中使用的应用程序,所以尝试考虑如果用户想要编辑索引0处的值,其他用户想要删除索引0处的值,同时其他用户可能想要在索引0处添加另一项,会发生什么情况。可以肯定的是,你最终会得到非常不同的结果,为什么不呢,甚至可以得到一个ArrayIndexOutOfBoundsException。所以Firestore对数组的操作有一点不同。因此您不能在特定索引上执行诸如insert、update或delete之类的操作。

正如Doug在他的回答中提到的,如果这两种方法对您的帮助还不够,您应该获取整个文档,获取数组,修改它并将其添加回数据库。

票数 3
EN

Stack Overflow用户

发布于 2018-12-13 04:59:51

如果arrayUnion或arrayRemove不能满足您对数组的修改,则必须阅读文档,修改内存中的数组值,然后使用新数组的整体更新数组字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53750901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档