Firestore / Cloud功能 - 如何在更改时更新Firestore数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firestore / Cloud功能 - 如何在更改时更新Firestore数据相关的知识,希望对你有一定的参考价值。

我刚刚将Cloud Function功能添加到我的Firestore项目中,并且我能够跟踪文档并获得hello world https端点调用。我现在的问题是如何开始实际使用云功能来更新数据库中的数据?目前我的Firestore结构如下:

用户(Collection) - > {user_unique_id}(文档) - >预算(集合) - > [data / general](两个不同的文档)。

因此,无论何时更新数据或一般文档,以获取数据和一般文档中的所有数据并运行一些数学,然后返回每个文档的更新值,我都希望调用一个函数。

我的问题是,我该如何做到这一点?现在我已经尝试过functions.firebase.document(“users / {userId}”)。onUpdate(),但这没有做任何事情,我不知道如何获取当前使用的userId?除此之外,我怎么能创建一个我可以从我的应用程序中的方法定期调用的函数?

多谢你们。

答案

最佳做法是使用Firestore触发的云功能。您可以访问Cloud Firestore triggers文档以获取更多信息。选择触发云Firestore功能部分中指定的方法onUpdate。然后放置文档的路径,每次更新此文档时,将触发该函数并执行您将在代码中指定的某些操作。

但是,有人提到“请记住,Cloud Firestore目前处于测试阶段,可能会导致意外行为。”,建议不要在生产中使用BETA版本。


我怎样才能创建一个我可以从我的应用程序中的方法定期调用的函数?

创建HTTP触发的云功能,每次要调用它时,只需发出HTTP请求,即可触发该功能。


我不知道如何获得当前使用的userId?

这是在之前的Stackoverflow问题上回答的:Getting the user id from a Firestore Trigger in Cloud Functions for Firebase?

“抱歉,尚未在Firestore SDK中添加auth。我们在下一个功能中列出了它。

如有任何进一步的更新,请留意我们的发行说明。“

以上是关于Firestore / Cloud功能 - 如何在更改时更新Firestore数据的主要内容,如果未能解决你的问题,请参考以下文章

导出 Firestore 备份数据的云功能。使用 firebase-admin 或 @google-cloud/firestore?

如何在 Cloud 函数中读取 Firestore 文档更新之前/之后的值?

在云功能中使用 Cloud Firestore

如何使用 Firebase Cloud Firestore 对方法进行单元测试?

如何使用 Cloud Function 将数据从 Firebase Firestore 索引到 Elastic App Search?

如何将数据从 Cloud Firestore 导入到本地模拟器?