【问题标题】:Is there a way to delete a collection in firebase with react?有没有办法通过反应删除firebase中的集合?
【发布时间】:2021-12-13 09:58:35
【问题描述】:

我正在查看文档,但他们只是这样说:

// Deleting collections from a Web client is not recommended.

作为参考,我将一个文档从一个集合移动到另一个集合,并且该文档具有子集合。

要移动它,我执行以下操作:

  1. 设置新文档(path 是用于放置文档的新集合的路径)
  2. 将旧文档中的集合复制到新文档中
      setDoc(doc(db, path), inquiry);
      console.log(updatesCollection);
      updatesCollection.docs.map((updateDocument) => {
        (async () => (addDoc(collection(db, `/closed/${id}/updates`), updateDocument.data())))();
      });
  1. 删除旧文档
(async () => await deleteDoc(doc(db, "active/" + id)))();

这使旧路径打开并且子集合仍然存在,有没有办法可以删除它?这是一个完整的反应应用程序,所以我想在客户端做。

【问题讨论】:

    标签: reactjs firebase google-cloud-platform google-cloud-firestore


    【解决方案1】:

    这使旧路径保持打开状态,子集合仍然存在

    这确实是预期的行为,因为删除文档并不意味着该文档中存在的所有子集合也会被删除。

    如错误消息所述:

    不建议从 Web 客户端删除集合。

    不要那样做。如果您想删除一个文档及其子集合中的所有文档,请注意您必须这样做manually

    【讨论】:

    • 如果用户删除帖子,那么我需要删除子集,我不能手动删除每个子集,没有办法吗?
    • 不是在 Firebase 控制台中手动,没有人这样做:) 手动意味着您必须为此编写代码。你检查过文档吗?您必须遍历子集合,删除每个文档,然后立即删除该文档。现在可以了吗?
    • 啊,好吧,没关系。
    猜你喜欢
    • 2022-01-10
    • 2018-09-15
    • 2020-02-20
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2020-08-12
    相关资源
    最近更新 更多