【问题标题】:How to delete a piece of data from an array inside a Nested Collection?如何从嵌套集合中的数组中删除一条数据?
【发布时间】:2021-11-12 22:41:36
【问题描述】:

我想从另一个集合(嵌套集合)中的集合中的数组中删除一个项目我拥有实现此目标所需的所有数据,但是我不知道如何编写我有一个稍微知道如何做(我会自己测试东西,但也会把问题留在这里)

我正在使用 Material UI DataGrid 来呈现我的表格并删除/编辑它们。我有一条信息保存在本地存储中,以备不时之需:

这就是我的桌子的样子:

当我选择一个项目并删除它时,它会保存数据中项目的 ID:[数组]

这些 ID 是它们在 data[array] 中保存的 ID -> :

最后我需要访问这个文档,我有以下内容

db.collection("usuarios").doc(user.uid).collection("pedidos").doc(id)

带来以下内容:

这意味着我带来了正确的文档,但是我不知道如何“更新”或删除名为 data[] 的数组,有什么想法吗?我想要实现的是,当我按下删除按钮时,它将根据选择的项目更新数组,所以如果它是项目 ID:L-2627 然后遍历该集合中的数组,获取名为 data 的数组并删除存储在数组中的项目。

【问题讨论】:

    标签: reactjs firebase google-cloud-firestore


    【解决方案1】:
    1. 将文档读入内存。
    2. 通过查找项目并将其再次从内存中删除来修改数组。
    3. 将修改后的内容写回文档。

    没有捷径或单一的操作可以做到这一点。文档在子集合中的事实并没有改变任何东西。这就是当您不提前知道数组项的全部内容时,您必须修改数组的方式。

    【讨论】:

    • 但是如何修改数组中的特定项呢?这就是我不明白的一点
    • 考虑以下,data1 = data 然后如果 data1 在数组中包含具有项目 ID 的内容,则从数据中删除该项目,然后最后 update = data: data1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 2019-04-25
    相关资源
    最近更新 更多