javascript - 如何读取 Firebase Cloud Functions 的 index.js 中的 Firebase 数据库条目?

标签 javascript firebase push-notification firebase-realtime-database google-cloud-functions

我正在尝试使用 Firebase 云功能为 iOS 应用程序创 build 备到设备的推送通知。每当在引用 '/user-notifications/{notificationRecipientUid}/{challengeId}' 的数据库中创建新 child 时,我想触发一个事件。这是我的 index.js 代码:

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

exports.sendWinLoseOrTieNotification = functions.database.ref('/user-notifications/{notificationRecipientUid}/{challengeId}').onWrite(event => {
...
const challengeId = event.params.challengeId;

functions.database.ref('/challenges/' + challengeId).once('value').then(function(snapshot) {
    const challengerUid = snapshot.val().challengerUid;
    ...
});
});

当在该位置的数据库中添加新子项时,我在 Firebase 控制台的函数日志中收到此错误“TypeError:functions.database.ref(...).once 不是一个函数”。所以没有可用的“一次”方法 在 ref 上,就像在 web api 中一样:

firebase.database().ref('...').once('value').then(函数(快照) { ... });

我的问题是:如何读取 index.js 中的现有数据库值?

最佳答案

好吧,解决方案是像这样使用 admin 而不是 firebase:

admin.database().ref('...').once('value').then(function(snapshot) {
    ...
});

关于javascript - 如何读取 Firebase Cloud Functions 的 index.js 中的 Firebase 数据库条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717434/

相关文章:

javascript - Chai/Node.js : Expect(value). to.be.NaN 问题

ios - 应用程序未在设备设置下列出 --> iOS 7 的通知

node.js - 无法从 Firebase 检索文档列表

python - 向多个用户 FCM 发送通知

ios - 我可以使用什么服务在 IOS 上快速发送推送通知

javascript - 在不创建空白的情况下按比例调整图像大小的最佳方法是什么?

javascript - jQuery 滑动切换最小化

javascript - 有没有一种明确的方法可以找出在 FF 的开发人员控制台中调用函数的位置?

database - Firebase 函数未执行

java - 如何在删除 Firebase 中的行后刷新 Recyclerview 适配器中的数据