gpt4 book ai didi

javascript - 如何在 Firebase 函数中访问 Firebase 数据库的快照?

转载 作者:行者123 更新时间:2023-12-02 21:31:35 25 4
gpt4 key购买 nike

每小时,我希望我的 firebase 函数查看我的数据库,读取一个值,根据这个旧值计算一个新值,然后在数据库中更新它。我在访问数据快照时遇到问题。具体来说,

exports.scheduledFunction = functions.pubsub.schedule('every 1 hour').onRun((context) => {
const ref = functions.database.ref('/users/test_user/commutes');
ref.once('value',function(snapshot) {
// do new calculation here

}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
return null;
});

我收到:functions: TypeError: ref.once is not a function 错误。

如何从 Firebase 实时数据库访问值并通过 Firebase 函数更新该值?

最佳答案

您正在尝试使用 firebase-functions SDK 来查询数据库。它不能那样做。您必须使用Firebase Admin SDK进行查询。

您需要像这样开始(不完整,但您应该能够看到您需要做什么)。在全局范围内导入并初始化:

const admin = require('firebase-admin')
admin.initializeApp()

然后在你的函数中使用它。确保正确使用 Promise。

const ref = admin.database().ref('...')
return ref.once('value').then(snapshot => {
// work with the snapshot here, and return another promise
// that resolves after all your updates are complete
})

关于javascript - 如何在 Firebase 函数中访问 Firebase 数据库的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60611677/

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