首页 > 解决方案 > 从 Firebase Firestore 中的嵌套地图对象中删除数组项

问题描述

在此处输入图像描述

我试图弄清楚我将如何去删除和添加到对象数组中的配置文件数组。我有 id 可以访问数组中的适当项目,但看起来我只能更新整个根数组项目。

doc().update({
    technologyLearned: firebase.firestore.FieldValue.arrayRemove("?")
});

如果这是一种普通语言,我可以通过 technologyLearned[id].profiles[profileid] 找到我需要删除或添加的项目。

标签: firebasegoogle-cloud-firestore

解决方案


由于您无法索引数组来定位要删除的项目,因此您必须读取整个文档,修改内存中的数组,然后将其写回文档。

这里的问题是这technologiesLearned是一个数组(不是profiles一个数组)。如果profiles没有嵌套在数组下,你可以使用technologiesLearnedarrayRemove


推荐阅读