【问题标题】:Firestore / Cloud Functions - How to Update Firestore Data on ChangesFirestore / Cloud Functions - 如何在更改时更新 Firestore 数据
【发布时间】:2019-07-12 04:02:52
【问题描述】:

我刚刚在我的 Firestore 项目中添加了 Cloud Function 功能,并且能够按照文档进行操作,并让 hello world https 端点调用正常工作。我现在的问题是如何开始实际使用云功能来更新数据库中的数据?目前我的 Firestore 结构如下:

Users(Collection)->{user_unique_id}(document)->budget(collection)->[data/general](两个不同的文档)。

因此,我希望在更新数据或通用文档时调用一个函数,该函数获取数据和通用文档中的所有数据并运行一些数学运算,然后返回每个文档的更新值。

我的问题是,我该怎么做呢?现在我已经尝试过functions.firebase.document("users/{userId}").onUpdate(),但这并没有做任何事情,我不确定如何获取当前使用的userId?最重要的是,我怎样才能创建一个可以从我的应用程序中的方法定期调用的函数?

谢谢大家。

【问题讨论】:

    标签: reactjs firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

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

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


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

    创建一个HTTP触发的云函数,每次你想调用它,只要发出一个HTTP请求,函数就会被触发。


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

    这已在上一个 Stackoverflow 问题中得到解答:Getting the user id from a Firestore Trigger in Cloud Functions for Firebase?

    “抱歉,尚未在 Firestore SDK 中添加身份验证。我们已将其列在下一个功能中。

    请留意我们的发行说明以获取任何进一步的更新。”

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多