gpt4 book ai didi

javascript - Firebase HTTP 触发器云函数更改实时数据库中的用户值

转载 作者:行者123 更新时间:2023-11-28 17:53:41 25 4
gpt4 key购买 nike

所以我编写了应该更改数据库中某个值的代码。我会使用 cron-jobs 每 24 小时触发一次,但我的代码有问题。

const functions = require('firebase-functions');

exports.resetPicksStatus = functions.https.onRequest((req, res) => {
.ref('/users/{userId}')
.onWrite(event => {
const status = event.data.val()
if (status.resetted) {
return true
}
console.log("Resetting status for " + event.paramas.userId)
status.resetted = true
status.picksDone = resetToNil(status.picksDone)
return event.data.ref.set(status)
})
})

function resetToNil(s) {
var resetValue = s
resetValue = resetValue.replace(/\b1\b/ig, "0")
return resetValue
}

最佳答案

您似乎正在尝试将实时数据库触发器放入 HTTP 触发器中,但这不会产生您正在寻找的结果。不使用数据库触发器,而是使用 Firebase 管理 SDK 从 HTTP 触发器内访问数据库。

在您的代码中添加

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const ref = admin.database().ref();

并使用ref访问数据库。

查看管理 SDK 文档 here .

Here是 Cloud Functions 的一些示例,其中一些显示了 Admin SDK。

Here's a video展示如何使用 Admin SDK

Here's a video关于计时云函数

关于javascript - Firebase HTTP 触发器云函数更改实时数据库中的用户值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929202/

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