【发布时间】:2021-05-10 00:32:33
【问题描述】:
我想简单地将键的值作为字符串获取并使用它们 但 firebase 快照总是返回键/值对。
else if (message.content === `${prefix}save`) {
writeUserData(message.author.id, message.author.username);
message.channel.send('Data written successful!');
firebase.database().ref('users').child(message.author.id).get()
.then ((snapshot) => {
console.log(snapshot.val());
snapshot.forEach(function(data) {
//console.log(data.key);
console.log(data.val);
});
});
message.channel.send('User data is: ');
}
我想获取用户名的值(kha333n 如此)并在message.channel.send('User data is: '); 中使用它
控制台日志
Debugger attached.
VU Bot Loaded!
644787932519071744
关于使用密钥。
PS C:\VU-Bot> node .\index.js
Debugger attached.
VU Bot Loaded!
{ username: 'kha333n' }
username
与新引用一起使用时返回...(以上更新代码)
PS C:\VU-Bot> node .\index.js
Debugger attached.
VU Bot Loaded!
{ username: 'kha333n' }
[Function (anonymous)]
当使用 val 代替 key 时返回。
【问题讨论】:
-
key是一个属性,而不是一个函数。所以data.key. -
我已经尝试了文档中给出的所有方法。
-
我不知道该怎么处理那个乌斯曼。我只能看到您共享的代码和相应的错误消息,在这种情况下(也如错误消息中指出的那样)您试图在
DataSnapshot上调用key()函数,但该类只有key属性。如果你把它称为data.key(没有())这个错误就会消失。 -
问题已更新...
标签: javascript node.js firebase firebase-realtime-database