从 Cloud Functions for Firebase 读取数据?
Read data from Cloud Functions for Firebase?
我正在使用此代码:
exports.lotteryTickets = functions.database.ref('/lottery/ticketsneedstobeprocessed/{randomID}').onWrite(event => {
let ticketsBoughtByUser = event.data.val();
})
但是 ticketsBoughtByUser 不正确。我怎样才能检索下图中显示的数字,所以在字符串 (oeb...) 旁边?谢谢。
我得到这个日志:
在您的例子中,event.data.val()
显然 return 不是一个数字。它 return 是您在日志中看到的一个对象。如果 console.log(ticketsBoughtByUser)
(不要使用字符串连接来构建消息),您实际上可以看到对象中的数据。
对于您在数据库中显示的数据,我希望 val 是一个包含此数据的对象(已编辑,因此我不必键入它):
{
"oeb...IE2": 1
}
如果您想从该对象中获取 1
,您必须使用字符串键进入它,无论该字符串表示什么:
const num = ticketsBoughtByUser["oeb...IE2"]
如果您想要只是数字而不是您最初指定位置的对象,您将需要两个通配符才能直接得到它:
exports.lotteryTickets = functions.database
.ref('/lottery/ticketsneedstobeprocessed/{randomID}/{whatIsThis}')
.onWrite(event => {
const num = event.data.val()
}
我为 whatIsThis
添加了一个通配符,它将匹配我在上面编辑的字符串。
但我真的不知道你的函数试图完成什么,所以这只是关于你是否应该真正这样做的猜测。
您还可以获得如下所示的 ticketsBoughtByUser 值
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/articles/{articleId}')
.onWrite(event => {
// Grab the current value of what was written to the Realtime Database.
var eventSnapshot = event.data;
//Here You can get value through key
var str = eventSnapshot.child("author").val();
console.log(str);
});
我正在使用此代码:
exports.lotteryTickets = functions.database.ref('/lottery/ticketsneedstobeprocessed/{randomID}').onWrite(event => {
let ticketsBoughtByUser = event.data.val();
})
但是 ticketsBoughtByUser 不正确。我怎样才能检索下图中显示的数字,所以在字符串 (oeb...) 旁边?谢谢。
我得到这个日志:
在您的例子中,event.data.val()
显然 return 不是一个数字。它 return 是您在日志中看到的一个对象。如果 console.log(ticketsBoughtByUser)
(不要使用字符串连接来构建消息),您实际上可以看到对象中的数据。
对于您在数据库中显示的数据,我希望 val 是一个包含此数据的对象(已编辑,因此我不必键入它):
{
"oeb...IE2": 1
}
如果您想从该对象中获取 1
,您必须使用字符串键进入它,无论该字符串表示什么:
const num = ticketsBoughtByUser["oeb...IE2"]
如果您想要只是数字而不是您最初指定位置的对象,您将需要两个通配符才能直接得到它:
exports.lotteryTickets = functions.database
.ref('/lottery/ticketsneedstobeprocessed/{randomID}/{whatIsThis}')
.onWrite(event => {
const num = event.data.val()
}
我为 whatIsThis
添加了一个通配符,它将匹配我在上面编辑的字符串。
但我真的不知道你的函数试图完成什么,所以这只是关于你是否应该真正这样做的猜测。
您还可以获得如下所示的 ticketsBoughtByUser 值
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/articles/{articleId}')
.onWrite(event => {
// Grab the current value of what was written to the Realtime Database.
var eventSnapshot = event.data;
//Here You can get value through key
var str = eventSnapshot.child("author").val();
console.log(str);
});