【问题标题】:Firebase database onCreate don't update all recordsFirebase 数据库 onCreate 不更新所有记录
【发布时间】:2019-01-23 14:38:35
【问题描述】:

我是云功能的新手,我有一个我无法理解的大障碍。我创建了onCreate 处理程序,它会在每个新项目上正确触发。如果我将多个项目放入数据库并且多次调用我的回调,有时snap.ref.update 不会更新项目。

这是我的代码:

...
.onCreate(async snap => {
    const item = snap.val()

    const newImageUrl = await asyncFunctionThatMovesImage(item.url1)
    const newImageUrl2 = await asyncFunctionThatMovesImage(item.url2)

    return snap.ref.update({
       img1: newImageUrl,
       img2: newImageUrl2
    })
})

此时 50-75% 的项目实际上已更新,但其他......我不知道为什么,但他们有旧数据。每个函数返回 200(我检查了日志)。

Firebase 存储是否有任何限制,还是我遗漏了什么?

【问题讨论】:

  • 不清楚是什么产品触发了该功能(... 没有帮助),也不清楚实际问题是什么(asyncFunctionThatMovesImage 调用是什么?如果删除,问题仍然存在吗?那些电话?)。请查看how to create a minimal, complete, verifiable example。因为拥有一个完整的独立 sn-p 代码来重现问题是提高别人看到你的问题的机会的最佳方法。

标签: javascript firebase firebase-realtime-database google-cloud-functions firebase-admin


【解决方案1】:

我认为您的问题是您的函数更新了它正在侦听的相同 ref,因此如果该位置上没有 img1 或 img2 子项,这将再次触发函数本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2016-01-15
    • 2013-03-08
    • 2018-02-04
    • 2021-04-06
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多