Привязка данных к пользователю (firebase)

Итак, я создал рабочую аутентификацию пользователя и страницу, которая содержит 3 входа и кнопку «создать пользователя». Входные данные формы данных отправляются в firebase, но я не думаю, что они привязаны к зарегистрированному пользователю.

вот код:

export class ProfilePage {

  profileData: AngularFireObject<Profile>

  profile = {} as Profile;

  constructor(private afAuth: AngularFireAuth, private afDatabase: AngularFireDatabase,
    public navCtrl: NavController, public navParams: NavParams) {
  }

  ionViewDidLoad() {

    console.info('ionViewDidLoad ProfilePage');
  }

  createProfile() {
    this.afAuth.authState.take(1).subscribe(auth => {
      this.afDatabase.object(`profile/${auth.uid}`).set(this.profile)
        .then(() => this.navCtrl.setRoot(MainPage));
    })
  }
}

данные о firebase выглядят так:

Привязка данных к пользователю (firebase)

Почему вы не думаете, что данные привязаны к зарегистрированному пользователю? Вы получаете какую-нибудь ошибку?

André Kool 27.03.2018 21:46

Я хотел отображать пользовательские данные, и я получил все данные из каждой учетной записи

Jakub Balicki 27.03.2018 22:10

Какой запрос вы использовали для отображения пользовательских данных?

Renaud Tarnec 27.03.2018 22:55

Вы должны редактировать свой вопрос, чтобы включить код, который вы используете для получения пользовательских данных. И если вы хотите убедиться, что пользователь не может видеть данные других пользователей, вы также должны включить свои правила безопасности firebase и обновить вопрос.

André Kool 28.03.2018 11:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
351
1

Ответы 1

С вашей структурой данных вот "стандартный" код javascript для получения данных для текущего пользователя:

var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/bike-it-app/profile/' + userId).once('value').then(function(snapshot) {
   var firstname = snapshot.val().firstname;
   var lastname = snapshot.val().lastname;
   var username = snapshot.val().username;
  // ...
});

Обратите внимание, что здесь мы используем «один раз». В качестве альтернативы вы можете использовать "on", в зависимости от ваших требований, см. https://firebase.google.com/docs/database/web/read-and-write#listen_for_value_events

Другие вопросы по теме