适用于现有数据的Firebase云功能

时间:2017-03-13 17:32:32

标签: firebase google-cloud-functions

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

我的使用案例: 我的Firebase数据库中有现有数据,比如说a/{uid}/b,在撰写本文时,我已经在数据库中有14-15个uid已定义b。现在我想使用云函数来监听写入b并根据它添加更多数据。

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

当我想为现有的写入逻辑一次更新所有数据时,Firebase的云功能如何提供帮助?

1 个答案:

答案 0 :(得分:0)

我也有类似的情况。我找到了一种解决方法来执行该功能。对于生产数据库而言,这不是理想的选择,但是对于我来说,对于小型数据库而言,它是可行的。

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

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

用于导出集合的命令

closeModal() {
    this.modalCtrl.dismiss();
  }

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

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

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