【问题标题】:Cloud Functions for Firebase for existing dataCloud Functions for Firebase 用于现有数据
【发布时间】:2017-08-03 20:05:24
【问题描述】:

如何使用 Cloud Functions for Firebase 数据库触发器来编辑/更新现有数据?

我的用例: 我的 Firebase 数据库中有现有数据,例如 a/{uid}/b,在撰写本文时,我在已定义 b 的数据库中有 14-15 个 uid。现在我想使用云功能来听写b 并在此基础上添加更多数据。

数据库触发器functions.database.ref('/a/{uid}/b').onWrite 只会针对特定路径的新写入/更新执行,而不是针对现有写入/更新执行。

当我想一次更新现有写入逻辑的所有数据时,Cloud Functions for Firebase 如何提供帮助?

【问题讨论】:

  • 我会创建一个单独的函数(HTTP 或数据库触发,并不重要)纯粹用于迁移。再说一遍:你也可以简单地使用本地节点脚本来做到这一点。

标签: firebase google-cloud-functions


【解决方案1】:

我也遇到过类似的情况。我找到了一种解决方法来执行该功能。这对于生产数据库并不理想,但对我来说适用于小型数据库。

将现有数据从集合(或整个数据库)导出到您拥有触发器功能的文件中。

然后删除从数据库中导出的数据。 (请注意,如果你有 onWrite 函数,它也会在删除时执行。确保代码正确处理它)

导出集合的命令

firestore-export --accountCredentials=/path/credentials.json --nodePath collectionName

然后使用以下命令导入同一集合中的备份数据。

firestore-import --accountCredentials=/path/credentials.json --backupFile /path/backupFilename.json --nodePath collectionName

关于 firebase-export npm 包的更多信息@ https://www.npmjs.com/package/node-firestore-import-export

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2017-09-07
    • 2018-01-03
    • 2022-12-01
    • 2017-09-24
    • 2017-08-07
    • 2021-08-14
    相关资源
    最近更新 更多