首页 > 解决方案 > 导出特定的 Firestore 子集合

问题描述

我正在尝试使用 firestore 导出工具的 beta 版本在 Firestore 中导出/导入特定的子集合。

例如,如果我有一个设置

我只想获取公司集合及其所有子集合,我想做:

gcloud beta firestore export gs://my-bucket-name/fs_backups/companies --collection-ids='companies','users'

我会得到companies和。companies/{company}/usersteams/{company}/users

我正在尝试所有这些组合:

... -collection-ids='companies/{id}/users'
... -collection-ids='companies/./users'
... -collection-ids='companies/.*/users'
... -collection-ids='companies/*/users'
... -collection-ids='companies/**/users'
... -collection-ids='companies/__name__/users'

以及其他一些,但结果是空的(但没有失败)。

是否有集合 id 的符号来指定我要导出的子集合?

标签: exportgoogle-cloud-firestore

解决方案


我遇到了同样的问题。问题是,在您的示例中,至少有两个子集合具有名称users。The export functionality, when selecting specific collections/subcollections, "flattens" the data (ie subcollections will be exported into its own folder, as opposed to a subfolder within the parent collection). 这使得具有相同名称的子集合不明确。解决方法是对子集合和集合进行唯一命名(如果您计划稍后将其导入 BigQuery,这也会很有帮助)。


推荐阅读