首页 > 解决方案 > 删除数组中具有索引的元素-CloudFirestore

问题描述

我正在尝试删除数组内的元素。以下是我的收藏结构

Items:
-----subGroupId
---------------[0]
------------------itemName
------------------itemPrice
---------------[1]
------------------itemName
------------------itemPrice
---------------[2]
------------------itemName
------------------itemPrice

在删除之前,我正在尝试在特定索引处获取项目。但是我在登录时得到“未定义”。

this.db.collection<any>("items").doc(this.subGroupData.sgId).collection("items").doc("/0").valueChanges().subscribe(data=>{
              console.log(data);
            })

我希望输出是项目数据的对象。

请帮忙。提前致谢。

标签: angulargoogle-cloud-firestoreangularfire2

解决方案


我认为您可能会将子集合与数组字段混合在一起。它们不是同一件事。

如果文档的字段是数组,则不能将其视为子集合。按索引删除数组字段元素的唯一方法是读取文档,修改内存中的数组,然后将数组字段更新回文档。


推荐阅读