当前位置: 首页 > 知识库问答 >
问题:

删除Firestore中的收藏-Flutter/Android

郑承恩
2023-03-14

我是新的flutter与Firebase,所以如果这感觉像一个问题,已在文档或其他问题回答,我道歉!

现在,我在firestore中保存用户数据,当用户删除他们的帐户时,我希望该帐户也被删除,但Firestore文档指出,删除集合的唯一方法是:

要删除Cloud Firestore中的整个集合或子集合,请检索集合或子集合中的所有文档并删除它们。

这不推荐给原生开发者,但我想到了一个想法:

因此,firestore会用新数据覆盖旧数据,因此,如果我们设置一个新集合(user-root ),其中有一个没有字段的文档,然后删除它,它将是读/写有效的,因为它只是覆盖所有预先存在的数据。

我还没有尝试过这个想法,但如果有人有更好的方法来删除消防店中的集合,请写一个答案!

参考链接:

  • https://firebase.google.com/docs/firestore/manage-data/delete-data#collections
  • https://firebase.google.com/docs/firestore/manage-data/add-data#set_a_document

共有1个答案

艾飞宇
2023-03-14

不可能“设置新集合”。只能读取、写入和查询集合中的单个文档。

您在这里引用的关于删除集合的建议是绝对正确的——您必须单独查询、迭代和删除每个文档。对于web和移动客户端,没有解决方法。

如果您希望向应用程序添加后端,可以使用可调用云函数中的firebase工具库来简化此过程,但该库仍遵循此过程删除集合中的所有文档。

 类似资料:
  • 我对此真的很困惑。如果我以编程方式删除Firest集合中的所有文档,集合本身也会被删除: 但是,如果我在线使用Firebase控制台删除所有文档,我并不总是看到集合被删除!我从字面上删除了集合中的所有文档,但它仍然在控制台中。我可以立即在集合中创建另一个文档。但有时集合确实会消失......?! 我读了一些帖子,比如删除Firestore收藏中的所有文件,但没有看到任何解释这一点的内容。 因为一个

  • 我如何删除一个特定的文档中的一个集合在fiRecovery使用反应? 我在这里和谷歌上看了看,但我没有发现任何内在相关的东西。 我只是设法从我的集合中删除索引[0]的文档。 这状态idDoc接收所有id文档。 如果我只是传递. doc(idDoc),我会得到以下错误: Firebase Error: Function Collection Reference.doc()要求它的第一个参数是非空字符

  • 问题内容: 我正在寻找清除整个收藏夹的方法。我看到有一个批处理更新选项,但这需要我知道集合中的所有文档ID。 我正在寻找一种简单地删除集合中每个文档的方法。 谢谢! 编辑:下面的答案是正确的,我使用以下方法: 问题答案: 没有API可以一次性删除整个集合(或其内容)。 从Firestore文档中: 要在Cloud Firestore中删除整个集合或子集合,请检索集合或子集合中的所有文档并将其删除。

  • 据我所知,我可以使用云函数以某种方式实现这一点?我试着阅读云函数,但我很迷路。是否有一种方法可以触发云函数,在用户更新帖子时删除子集合中的所有文档?

  • 问题内容: 有没有一种方法可以对 field1 = x* 和 field2 = y的文档执行删除操作 ? *** 我看到了删除功能,但没有附带。如果使用事务,则存在get和delete,但get似乎不接受“ where”子句。 我希望我在文档中缺少一些内容。 谢谢 问题答案: 为此,您需要先创建所需的查询,然后才使用如下方法:

  • 所以我有2个系列, 用户(收藏) 检查(收集) 用户只有名为不同电子邮件地址的文档 检查将文档命名为不同的电子邮件地址,然后每个文档都有另一个名为“assignedToMe”的集合,然后此集合具有命名为某些唯一 ID 的不同文档。 我想做的是,每当我删除一个用户,我希望它的文件命名为他的电子邮件地址被删除,以及从检查(收集)。 我在这里遇到的问题是,我能够从用户(集合)中删除该用户,但无法删除该特