Angularjs 如何在firebase数据库中添加尚未存在的用户?
这是我的密码;我希望在登录时将用户添加到用户列表(存储在firebase数据库中);但是,我想检查列表中是否已经存在该用户。因此我编写了这个函数。但是,它被反复调用,并且不会停止。我的问题是:如何更改函数,使其不进入无限循环 ps I使用angularfire 4.0.0/angular 4.1.3/firebase 4.0.0 编辑: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 将此文件返回给用户
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;