首页 > 解决方案 > 有没有办法通过反应删除firebase中的集合?

问题描述

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

// 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)))();

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

标签: reactjsfirebasegoogle-cloud-platformgoogle-cloud-firestore

解决方案


这使旧路径打开,子集合仍然存在

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

正如错误消息所述:

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

不要那样做。如果您想删除一个文档及其子集合中的所有文档,请注意您必须手动执行此操作。


推荐阅读