gpt4 book ai didi

javascript - Firebase "update"操作下载数据?

转载 作者:行者123 更新时间:2023-12-03 01:25:33 25 4
gpt4 key购买 nike

我正在分析我的 firebase 数据库中的“下载泄漏”(我正在使用 JavaScript SDK/firebase 函数 Node.js),最后将范围缩小到“更新”函数,该函数令人惊讶地导致了数据下载(这影响了我的计费)案例非常明显 - 大约 50% 的账单来自此泄漏):

Firebase 函数index.js:

exports.myTrigger = functions.database.ref("some/data/path").onWrite((data, context) => {
var dbRootRef = data.after.ref.root;
return dbRootRef.child("/user/gCapeUausrUSDRqZH8tPzcrqnF42/wr").update({field1:"val1", field2:"val2"})
}

此函数在“/user/gCapeUausrUSDRqZH8tPzcrqnF42/wr”节点生成下载

如果我将路径更改为如下所示:

exports.myTrigger = functions.database.ref("some/data/path").onWrite((data, context) => {
var dbRootRef = data.after.ref.root;
return dbRootRef.child("/user/gCapeUausrUSDRqZH8tPzcrqnF42").update({"wr/field1":"val1", "wr/field2":"val2"})
}

它在“/user/gCapeUausrUSDRqZH8tPzcrqnF42”节点生成下载。

这是 firebase database:profile 的结果

enter image description here

如何在更新数据时摆脱下载或减少使用,因为我只需要上传它?

最佳答案

我认为这在 firebase cloudfunction 触发器中是不可能的。

.onWrite((data, context) 有一个 data 字段,它是完整的 DataSnapshot。 并且无法配置不获取其 val

不过,您可以采取两件事来帮助降低数据成本:

  1. 观看较小的一组以进行触发。例如functions.database.ref("some/data/path")("some")
  2. 使用更具体的钩子(Hook)。即 onCreate()onUpdate()onWrite()

关于javascript - Firebase "update"操作下载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51564823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com