如何阅读Firebase云功能中的Firebase数据库条目' index.js?

时间:2017-05-01 10:09:29

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

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

<button id="disbtn" class="one btn btn-primary" type="button">
                    <i class="fa fa-caret-down" aria-hidden="true"></i>
                     Preview </button> 

当在该位置的数据库中添加新子项时,我收到此错误,&#34; TypeError:functions.database.ref(...)。一次不是函数&#34;,在Firebase控制台& #39; s功能日志。所以没有一次&#39;方法可用  在web api中的引用:

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; ... }); });

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

1 个答案:

答案 0 :(得分:4)

嗯,解决方法是使用admin而不是firebase,如下所示:

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