ionic firebase从实时数据库获取用户信息

时间:2019-06-07 02:39:47

标签: firebase ionic-framework firebase-realtime-database firebase-authentication ionic4

我试图在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来在我的应用中显示用户名

1 个答案:

答案 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