reactjs - 有没有办法通过反应删除firebase中的集合?
问题描述
我正在查看文档,但他们只是这样说:
// Deleting collections from a Web client is not recommended.
作为参考,我将一个文档从一个集合移动到另一个集合,并且该文档具有子集合。
要移动它,我执行以下操作:
- 设置新文档(
path
是放置文档的新集合的路径) - 将旧文档中的集合复制到新文档
setDoc(doc(db, path), inquiry);
console.log(updatesCollection);
updatesCollection.docs.map((updateDocument) => {
(async () => (addDoc(collection(db, `/closed/${id}/updates`), updateDocument.data())))();
});
- 删除旧文档
(async () => await deleteDoc(doc(db, "active/" + id)))();
这使旧路径打开并且子集合仍然存在,有没有办法可以删除它?这是一个完整的反应应用程序,所以我想在客户端做。
解决方案
这使旧路径打开,子集合仍然存在
这确实是预期的行为,因为删除文档并不意味着该文档中存在的所有子集合也将被删除。
正如错误消息所述:
不建议从 Web 客户端删除集合。
不要那样做。如果您想删除一个文档及其子集合中的所有文档,请注意您必须手动执行此操作。
推荐阅读
- php - 在 Symfony 2.8 中将服务注入控制器?
- docker-compose - Dgraph 总是显示'Connection lost with alpha: 7080' 错误
- javascript - 在 StrictMode 中不推荐对 findDOMNode 进行查询
- typescript - Typescript ts-loader 符号链接通过 lerna yarn 工作区无法解决当前工作区之外的依赖关系
- git - 将 git 文件夹中的文件作为 Jenkins 管道中的参数列表列出
- azerothcore - AzerothCore 与 Gdb、重启器和崩溃日志?
- lotus-formula - 如何在 Nomad for Android 上区分手机和平板电脑之间的区别
- c++ - 在进程中对同一管道进行读取和写入时出现 C++ 管道问题
- vue.js - 在 Nuxt 从“spa”更改为“universal”,但我只得到未定义的文档
- php - 带有 bind_result() / fetch() mysqli 准备好的语句的 JSON 类型字段不起作用