2

我想删除 Firestore 中的整个集合。

我使用了 firebase 命令 -firebase firestore:delete product/

错误:删除集合时必须通过递归或浅选项。

又试了——firebase firestore:delete product/1

错误:文档有子项,必须指定 -r 或 --shallow。

请帮助我知道,-r-shallow是什么意思?

对于使用 firebase 命令批量删除整个集合,我最好选择哪个选项?我需要删除集合中的整个文档。

4

2 回答 2

3

要理解这些论点,您可以使用--help

$ firebase firestore:delete --help

  Usage: firestore:delete [options] [path]

  Delete data from Cloud Firestore.


  Options:

    -r, --recursive    Recursive. Delete all documents and subcollections. Any action which would result in the deletion of child documents will fail if this argument is not passed. May not be passed along with --shallow.
    --shallow          Shallow. Delete only parent documents and ignore documents in subcollections. Any action which would orphan documents will fail if this argument is not passed. May not be passed along with -r.
    --all-collections  Delete all. Deletes the entire Firestore database, including all collections and documents. Any other flags or arguments will be ignored.
    -y, --yes          No confirmation. Otherwise, a confirmation prompt will appear.
    -h, --help         output usage information

这里的两个选项是-r(recursive) 或--shallow.

如果你-r在删除一个文档的时候通过了,那么它也会删除该文档的所有子集合以及子集合的所有子集合等。

如果您通过--shallow,它将删除有问题的文档,并将保留所有子集合。

于 2018-03-05T19:24:17.267 回答
1

都试过了——

firebase firestore:delete -r <path>

删除集合中的所有文档(也深度嵌套)

firebase firestore:delete -shallow <path>

删除集合内的所有文档(1 级),它只是取消集合与子文档的链接,路径仍然存在以获取深度嵌套的子文档。

于 2018-03-05T03:42:17.553 回答