Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在firebase数据库中添加尚未存在的用户?_Angularjs_Firebase_Firebase Realtime Database_Angularfire - Fatal编程技术网

Angularjs 如何在firebase数据库中添加尚未存在的用户?

Angularjs 如何在firebase数据库中添加尚未存在的用户?,angularjs,firebase,firebase-realtime-database,angularfire,Angularjs,Firebase,Firebase Realtime Database,Angularfire,这是我的密码;我希望在登录时将用户添加到用户列表(存储在firebase数据库中);但是,我想检查列表中是否已经存在该用户。因此我编写了这个函数。但是,它被反复调用,并且不会停止。我的问题是:如何更改函数,使其不进入无限循环 ps I使用angularfire 4.0.0/angular 4.1.3/firebase 4.0.0 编辑: getUsers(){ this.users=this.afd.list(“/users”)作为FirebaseListObservable 将此文件返回给用户

这是我的密码;我希望在登录时将用户添加到用户列表(存储在firebase数据库中);但是,我想检查列表中是否已经存在该用户。因此我编写了这个函数。但是,它被反复调用,并且不会停止。我的问题是:如何更改函数,使其不进入无限循环

ps I使用angularfire 4.0.0/angular 4.1.3/firebase 4.0.0

编辑:

getUsers(){
this.users=this.afd.list(“/users”)作为FirebaseListObservable
将此文件返回给用户;

}

显示此函数
this.fs.getUsers()
我认为您可以通过firebase cloud添加另一层过滤新数据的功能functions@theblindprophet请参阅“提前编辑感谢”
    export class UsersComponent implements OnInit {

  users: any;
  constructor(private fs: FirebaseService, public afAuth: AngularFireAuth ) {


  // console.log(  this.afAuth.auth.currentUser.email);
      // this.fs.addUsers();
  }

  ngOnInit() {
    this.fs.getUsers().subscribe(users => {
      this.users = users;
          if (this.users[0].email === this.afAuth.auth.currentUser.email ) {
            console.log("this user already exists");
          }
          else if (this.users[0].email !== this.afAuth.auth.currentUser.email) {
             this.fs.addUsers();

          }
          console.log(this.users[0].email === this.afAuth.auth.currentUser.email);
          console.log(this.users[0].email);
          console.log(this.afAuth.auth.currentUser.email);
    });

  }

}
  getUsers() {
this.users = this.afd.list('/users') as FirebaseListObservable<any[]>
return this.users;