繁体   English   中英

如何从 Firestore 中的空文档中删除嵌套的 collections?

[英]How to delete nested collections from an empty document in Firestore?

我在 Firestore 上的 collections 之一具有以下结构:

main_database/root/comments/{commentId}/message: str
main_database/root/comments/{commentId}/replies/{replyId}/message: str

我试图通过删除根文档来删除根目录中的所有文档:

alerts_database.delete_document(document_path=["main_database", "root"])

...

def delete_document(self, document_path: List[str]) -> None:
    document_reference = self.get_document_reference_from_path(path=document_path)
    collection_list = self.get_document_collection_list(document_reference=document_reference)
    for collection in collection_list:
        self.delete_collection(collection_reference=collection)
    logger.warning(f"Deleting document: {document_path}.")
    document_reference.delete()

但是,这只会删除所有文档,不会删除回复。 因此,我只能在空文档中回复。

如何刷新 main_database/root 级别的数据库?

在此处输入图像描述

经过一番挖掘,我发现您可以使用带有--recursive标记的 firebase-cli 递归删除整个集合和子集合,如下所示:

firebase firestore:delete "foo/bar" --recursive --project=PROJECT_ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM