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