我试图在Firebase数据库中获取用户信息(例如:用户名),但是在.ts
文件中,我不知道如何编码
我很累使用auth.uid
从数据库中获取用户名,但是没有用。以下是我用来保存用户个人资料的代码。效果很好。
this.afAuth.authState.pipe(take(1)).subscribe(auth => {
let path= 'userProfile'+'/'+ auth.uid;
this.afDatabase.object(path).set(this.profile);
})
但是我不知道如何获取其信息。因此,在我的数据库中,“ userProfile”下有“ username”。如何使用此逻辑获取用户名?我需要使用该auth.uid
来在我的应用中显示用户名
答案 0 :(得分:0)
似乎您具有以下数据库:
userProfile
userid
username : peter
您可以执行以下操作:
export class DataComponent implements OnInit{
ref : any;
constructor(db: AngularFireDatabase, public afAuth: AngularFireAuth) {
ref = db.list('/userProfile', ref => ref.orderByKey().equalTo(this.afAuth.auth.currentUser.uid)).valueChanges();
}
ngOnInit(){
ref.subscribe(items => {
console.log(items);
});
}
}
在这里查询节点userId
,然后使用该节点可以检索username
。
检查以下内容:
https://github.com/angular/angularfire2/blob/master/docs/rtdb/querying-lists.md