作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每小时,我希望我的 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/
我是一名优秀的程序员,十分优秀!