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

How to read a value from Firebase realtime database with a Google cloud functions?

我开始使用 firebase 云函数,但我无法从我的数据库树中读取条目 "Hello" :

我正在尝试从我的树中读取 HANDLE/suj1/part1 中的 "Hello" 值。我正在使用一个 firebase 云函数,当我在 "INTENT" 内的数据库中使用 IOS 应用程序创建另一个条目时触发该函数。这些函数调用得很好,但每次我尝试读取 "Hello" 值时,它 return 在我的 firebase 控制台中是一个空值,我希望它是 return "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);

});

我通过这条线和 Frank 的帮助发现:

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

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