Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用谷歌云功能从Firebase实时数据库读取值?_Node.js_Firebase_Firebase Realtime Database_Google Cloud Functions_Firebase Admin - Fatal编程技术网

Node.js 如何使用谷歌云功能从Firebase实时数据库读取值?

Node.js 如何使用谷歌云功能从Firebase实时数据库读取值?,node.js,firebase,firebase-realtime-database,google-cloud-functions,firebase-admin,Node.js,Firebase,Firebase Realtime Database,Google Cloud Functions,Firebase Admin,我开始使用firebase云函数,但在从数据库树中读取条目“Hello”时遇到问题: 我正在尝试从我的树中读取句柄/suj1/part1中的Hello“值。我使用的是firebase cloud函数,当我在“INTENT”内的数据库中使用IOS应用程序创建其他条目时,会触发该函数。这些函数调用得很好,但每次我尝试读取“Hello”值时,它都会在firebase控制台中返回一个空值,我希望它在那里返回“Hello” 以下是我使用的代码: const functions = require('fi

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

我正在尝试从我的树中读取句柄/suj1/part1中的Hello“值。我使用的是firebase cloud函数,当我在“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
 });
有人能说出我做错了什么吗?

试试这个:

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"
});
请试试这个

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

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

});

通过这句话和弗兰克的帮助,我发现:

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

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

我收到以下错误类型错误:无法读取Null的属性“part1”使用firebase数据库节点的快照编辑您的问题。。如果它如您在问题中所说的那样,那么它应该是有效的:要查看您的数据库是什么样子,您可以尝试一下并将其输出添加到您的问题中吗<代码>返回admin.database().ref().once('value',(snap)=>{console.log(JSON.stringify(snap.val());})@FrankvanPuffelen谢谢,我试了一下你说的,我发现手柄末端有一个空格a,我从控制台上看不到。你们应该考虑添加一种从控制台修改节点的方法,因为现在一旦创建了节点,就不能修改它的名称。再次感谢!很高兴听到你找到了问题的原因Mathias!重命名节点的请求从来都不多,但这对用户来说并没有什么坏处。