0

Nach der Registrierung und Anmeldung, ich frage Benutzer, um ein Profil zu erstellen.Right da muss ich überprüfen, ob die Benutzereingabe existieren in db, wenn nicht Profil erstellen.Sie sehen Daten [0] [4 ] = Benutzername in db.Check username existieren in Datenbank firebase angularfire2

mit for loop im looping über alle profile usernamen zu finden benutzername oder nicht.right jetzt erstellt es profil sogar username existiert.

dank

https://image.prntscr.com/image/qDttSENCRqaOncLmpXNuhA.png

createProfile(){ 

    this.allData=this.db.list(`/profile/`).valueChanges(); 
    this.allData.take(1).subscribe(data => { 
     let data = data.map(this.getObjectWithoutKnowingKey); 
     console.log(data); 
     console.log(data[0][4]); 
     console.log(data.length); 
console.log(this.username); 


for(var i=0;0<data.length;i++){ 

if(data[i][4] === this.username){ 
    console.log("username already exist"); 
return; 

} 

} 
}); 

//if username exist dont execute this code below. 

this.fire.authState.take(1).subscribe(auth => { 


this.db.object(`profile/${auth.uid}/`).set({ 
username: this.username, 
msgnumber: 0, 
asd: 0, 
avatar: this.avatar 


}); 
this.db.object(`profile/${auth.uid}/inventory/`).set({ 

test: 1 


}).then(() => this.navCtrl.setRoot(TabsPage)); 



}); 






} 

Antwort

0

den Code mit ich, dass Sie sich auf die Daten iterieren sehen können. Also, das wird nur Ihre nehmen anstatt zu versuchen, equalsTo Methode der Firebase verwenden. Check it out.

Verwandte Themen