首页 > 解决方案 > 如何查找没有父文档的 Firestore 集合?

问题描述

我正在尝试清理我的 Google Cloud Firestore 数据库,并且我有一些没有父文档的子集合(父文档已被删除)。如何使用 Firebase Admin SDK 找到所有这些,以便删除它们?

标签: firebasegoogle-cloud-firestorefirebase-admin

解决方案


你最终会为此编写大量代码。我将链接到 nodejs API。

对于可能缺少文档的每个集合,您需要使用listDocuments()查询该集合。这将返回集合中所有文档的列表,包括具有子集合的缺失文档。然后,您将需要迭代该列表中返回的DocumentReferences ,并对它们中的每一个调用get() 。然后返回的DocumentSnapshot将告诉您它是否存在或不使用其exists属性。

在所有 DocumentReference 对象都引用丢失的文档之后,您可以按照另一个问题中的说明进行操作,该问题描述了如何删除该 DocumentReference 下的所有嵌套子集合,直接转到Firebase 文档


推荐阅读