将数据绑定到用户(firebase)

时间:2018-03-27 19:14:35

标签: javascript firebase ionic-framework firebase-realtime-database

所以我创建了工作用户身份验证,以及一个包含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.log('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上的数据如下所示:

fb data

1 个答案:

答案 0 :(得分:0)

使用您的数据结构,这里是获取当前用户数据的“标准”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;
  // ...
});

请注意,这里我们使用“一次”。您也可以使用“开启”,具体取决于您的要求,请参阅https://firebase.google.com/docs/database/web/read-and-write#listen_for_value_events