如何使用Google云功能从Firebase实时数据库中读取值?

问题描述 投票:-1回答:3

我开始使用firebase云功能,我在从数据库树中读取条目“Hello”时遇到问题:

enter image description here

我正在尝试从我的树中读取HANDLE / suj1 / part1中的“Hello”值。我正在使用firebase云功能,当我在“INTENT”内的数据库中创建带有IOS应用程序的其他条目时触发该功能。这些函数调用得很好但每次我尝试读取“Hello”值时,它在我的firebase控制台中返回一个空值,我希望它返回“Hello”。

这是我使用的代码:

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

exports.match = functions.database.ref('INTENT/{userid}').onCreate(snapshot => {

const user = snapshot.key


return admin.database().ref('HANDLE/suj1/part1').once('value', (snap) => {
    const hello = snap.val()
    console.log(hello) // Null
 });

有人能说出我做错了什么吗?

node.js firebase firebase-realtime-database google-cloud-functions firebase-admin
3个回答
2
投票

我发现这条线和弗兰克的帮助:

admin.database().ref().once('value', (snap) => { console.log(JSON.stringify(snap.val())); });

我在我的路径中的“HANDLE”末尾添加了一个空格,它没有出现在Firebase控制台中。我不得不删除分支并创建另一个分支。


0
投票

试试这个:

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

exports.match = 
functions.database.ref('OTHERLOCATION/{userid}').onCreate((snapshot) => {
const user = snapshot.key

return admin.database().ref().child('HANDLE/suj1').once('value', function(snap) => {
const hello = snap.val().part1
console.log(hello) // "Hello"
});

0
投票

请试试这个

const userName = admin.database().ref('/HANDLE/suj1/part1').once('value',function(snapshot) {

const hello = snapshot.val();
console.log(hello);

});
© www.soinside.com 2019 - 2024. All rights reserved.