检查用户名存在于数据库firebase angularfire2中

时间:2017-10-28 23:31:13

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

注册并登录后,我要求用户创建一个配置文件。我需要检查用户输入是否存在于db中,如果没有创建配置文件。正如您在数据库中看到的数据[0] [4] =用户名。 / p>

使用for循环im循环遍历所有配置文件用户名以查找用户名是否存在。现在它创建配置文件甚至用户名存在。

感谢

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));



});






}

1 个答案:

答案 0 :(得分:0)

使用代码,我可以看到您正在迭代数据。所以这只是采取你的而不是尝试使用equalsTo firebase方法。 Check it out.