【问题标题】:Firebase Functions - Function not being calledFirebase 函数 - 未调用函数
【发布时间】:2020-04-07 03:57:00
【问题描述】:

我创建了以下函数:

它已部署并存在于 firebase 主机上,但它从未被调用(使用率为 0)...

它应该在用户文档发生更改时调用,然后如果字段不为空,则将其更新为空。

谁能看到为什么它没有运行?

exports.deleteField = functions.database.ref('/Users/{userID}')
  .onUpdate((change, context) => {
    const overrideTag = change.after.data().overrideTag
    if (overrideTag !== null) {
      const db = admin.firestore()
      db.collection('Users').doc(userID).set({ overrideTag: null })
    }
  })

亲切的问候, 乔什

【问题讨论】:

  • 请将问题编辑为非常具体关于您正在做什么应该触发此功能的问题。仅从代码中无法看出为什么它没有被触发。
  • 正如我上面所说的,当用户中的文档发生更改时应该触发该功能。
  • 在没有具体信息的情况下,我只能猜测一下。理想情况下,您的问题包括您修改文档所采取的具体步骤,也许还显示了您正在处理的内容的屏幕截图。

标签: firebase google-cloud-functions


【解决方案1】:

您的函数配置为触发实时数据库中名为“用户”的节点的更改。实时数据库没有“文档”。但是,Firestore 确实有文档。如果您打算在 Firestore 中更改文档时触发,则必须改为编写 Firestore trigger。它将使用functions.firestore 而不是functions.database

【讨论】:

  • 感谢您的回复,显然已经足够详细,因为这给了我答案。
  • 所以,我们仍然需要知道您将文档添加到正确的集合中 - 这也是一个常见错误。非常具体从来都不是一个坏主意。截图帮助。
猜你喜欢
  • 2019-12-19
  • 2021-02-24
  • 2018-03-28
  • 2019-01-22
  • 2018-12-20
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多