ionic firebase получает информацию о пользователях из базы данных в реальном времени - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь получить информацию о пользователе (например, имя пользователя) в моей базе данных 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" есть "имя пользователя".Как мне использовать эту логику, чтобы получить имя пользователя?Мне нужно использовать это auth.uid для отображения имени пользователя в моем приложении

1 Ответ

0 голосов
/ 07 июня 2019

Кажется, что у вас есть следующая база данных:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...