【发布时间】:2022-10-17 19:55:31
【问题描述】:
【问题讨论】:
-
您是否尝试过发布的答案?
标签: firebase flutter google-cloud-firestore
【问题讨论】:
标签: firebase flutter google-cloud-firestore
目前,Firestore 不支持将现有数据导出到可读文件,但 Firestore 确实有一个托管的Exporting and importing data,允许您将数据转储到 GCS 存储桶中。它生成的格式与 Cloud Datastore 使用的格式相同。这意味着您可以将其导入 BigQuery。
但是,社区为此限制创建了一种解决方法。如果您在系统中安装了npm,则可以使用它。以下是使用 npm 将 Firestore 数据导出到 JSON 文件的说明。
为您的服务帐户生成一个私钥文件。在 Firebase 控制台中,打开设置 > 服务帐户。
单击 Generate New Private Key,然后单击 Generate Key 进行确认。
安全地存储包含密钥的 JSON 文件。您也可以查看documentation。
将 JSON 文件重命名为 credentials.json。
在您的控制台中输入以下代码:
npx -p node-firestore-import-export firestore-export -a credentials.json -b backup.json
您还可以使用以下命令将数据导入 Firestore:
npx -p node-firestore-import-export firestore-import -a credentials.json -b backup.json
以下是使用包中的npm 的结果:
backup.json:
{"__collections__":{"test":{"Lq8u3VnOKvoFN4r03Ri1":{"test":"test","__collections__":{}}}}}
您可以找到有关here 包的更多信息。
【讨论】:
@marc node-firestore-import-export 在above answer 中提到的包存在缺陷,以防您的数据库非常大。
此处记录了此缺陷 https://github.com/jloosli/node-firestore-import-export/issues/815
出于这个原因,我建议使用https://github.com/benyap/firestore-backfire
【讨论】: