我正在开发一个名为 firebatch
的 firestore CLI 工具我读到,要正确删除集合并避免孤立文档,您必须先遍历所有子集合并删除它们。 我有删除命令的基本实现,但我想测试它是否正常工作。 为此,我需要检查删除集合是否留下任何孤立的集合或文档。我该怎么做(最好是用Python)?
Firestore 没有任何孤立文档的定义,但我认为您的意思是子集合中的文档,其父文档不存在。
如果这确实是您想要查找的内容,您可以使用集合组查询查找集合中具有给定名称的所有文档,然后针对每个文档检查其父文档是否存在(通过
path
DocumentSnapshot.reference
。有关更多信息,请参阅:如何从 Firestore Python 中的 DocumentReference 获取文档名称和 firestore 中是否有一种方法可以获取在 python 中使用 collection_group 查询检索到的文档的完整文档路径?
没有特定的操作来查找这些类型的文档(因为没有针对这种情况的索引),因此您最终还会阅读父文档确实存在的文档。