0

以下、私はサインアップコードを持っています。これは、アカウント作成時にユーザーのテーブルにデータを追加することについて私が持っていたprevious questionから来ています。コードは次のとおりです。今、私はこの情報を取得したいと私のプロファイルコンポーネントに置き、この時間は取り出すでしょうFirebase角度2ユーザテーブルからデータを取得

email|'' 
password|'' 
username|'Roy' 
net_worth|'5000' 

signup(){ 
    firebase.auth().createUserWithEmailAndPassword(useremail, userpassword) 
    .then(function(response) { 
     var updates = {}; 
     updates['/users/' + response.uid] = { email: useremail, password: userpassword, net_worth : 5000, username : 'Roy' }; 
     firebase.database().ref().update(updates); 
}); 
} 

明確にするために、私のスキーマのようなものになりますそのデータ。

プロファイルコンポーネント

export class ProfileComponent implements OnInit { 
private usermail: string; 
private net_worth: string; 
constructor(){} 

ngOnInit(){ 
    this.usermail = ''; 
    this.net_worth = ''; 
    var user = firebase.auth().currentUser; 
    if (user != null) {this.usermail = user.email;} 
}  
} 

は、このコードは、認証から私に、ユーザーの電子メールを与えるために動作しますが、それは私の中で、他の情報を返すには動作しません:私は、次のされているもの瞬間スキーマ(net_worthusernameなど)。認証機能ではなく、データベーステーブルに格納されているので想像してください。

指定されたユーザーの詳細を取得するには、ユーザー生成IDをどのように呼びますか?具体的には、usernamenet_worth

答えて

2

あなたのデータベース構造は、ログインが成功した後、この

Users 
    user-Id1 
     email 
     net_worth 
     username 

のようなものです、あなたはfirebaseから返された応答に基づいて、あなたのDBを照会することができます。 uidのように、emailにアクセスできるのと同様に、displayNameがあります。usernameの代わりになります。ユーザー管理の詳細についてread here

他の情報については、データベースに問い合わせてください。

var user = firebase.auth().currentUser; 
if (user) { 
    var getUserInfo = firebase.database().ref('users/' + user.uid); 
    getUserInfo.once('value', function(snapshot) { 
     console.log(snapshot.val()); //returns net_worth, etc 
    }); 
} 
関連する問題