首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在firebase (javascript)中,如何获取当前登录用户的数据?

在firebase (javascript)中,如何获取当前登录用户的数据?
EN

Stack Overflow用户
提问于 2018-08-02 07:13:49
回答 2查看 2.1K关注 0票数 1

我花了几天时间研究解决方案。我已经找到了许多非常有用的答案,但我仍然无法找到一个完全解决我的问题的解决方案。基本上我想做的就是获取当前用户的数据(存储在firebase实时数据库中),并将它们显示在用户的屏幕上。

到目前为止,我可以显示所有用户的数据。但是我如何让它只显示当前用户的数据呢?(如何只获取当前用户的推流密钥?)

  • 我不是一个有经验的程序员(不到一年)。请使用一种易于understand.
  • I've通过所有firebase文档的语言。请不要只给我文档的副本或链接。

Screenshot: Firebase realtime database

Screenshot: JavaScript function for retrieving current user's data

Additional JavaScript screenshot

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-02 07:47:03

用户数据存储在您选择的任何位置--除了nameemail和其他一些字段之外,User对象实际上不能存储任何其他信息。因此,您需要决定将多余数据保存在数据库中的哪个位置。

假设您选择创建一个包含名为uid的子项的集合users,并将用户的国家存储在这些文档中,下面将获取特定用户的数据,您可以使用其中的任何字段:

代码语言:javascript
复制
let ref = database.ref('/users/' + currentUser.uid).once('value').then(function(snapshot) {
    let userData = snapshot.val();
    console.log(userData.country);
}
票数 1
EN

Stack Overflow用户

发布于 2019-12-28 02:52:28

这就是你要的!

代码语言:javascript
复制
function showUser(){
   var usref=firebase.database().ref("countries/"+uid);
   //uid here is the unique code u gave to the specif user
   usref.once('value', function(snapshot) {snapshot.forEach(function(childSnapshot) {
   if((childSnapshot.key)=="country"){
     var country = childSnapshot.val();
     //use this variable here enter code here
     window.alert(country);//just for checking!!!
   }
   if((childSnapshot.key)=="age"){
     var name = childSnapshot.val();
     //use this variable here
     window.alert(name);//just for checking!!!
   }
   });
 });
}

我希望这段代码能为你工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51643464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档