gpt4 book ai didi

javascript - Angular Firebase 2 检查用户是否存在然后添加到数据库

转载 作者:行者123 更新时间:2023-12-03 02:36:21 24 4
gpt4 key购买 nike

我想向 firebase 实时数据库添加一个新用户,我已设法查询数据库以查找电子邮件输入是否已存在

onSubmit(form: NgForm){

var user = this._visitorService.getIndividualVisitor(form.value.email);

user.valueChanges().subscribe(list=>{
console.log(list);
if(list.length ===0 ){
console.log('email doesnt exist, creating new user');
this._visitorService.addVisitor(form.value)
} else{
console.log('email existst');
this._visitorService.updateVisitor(form.value)
}
})
}

getIndividualVisitor(email:string){
this.list = this.firebase.list('visitors', ref => ref.orderByChild('email').equalTo(email));
return this.list;
}

我遇到的问题是每次更新数据库时都会调用user.valueChanges()这意味着每次我添加新用户时,也会调用更新用户函数,正确的方法是什么。我正在使用 "angularfire2": "^5.0.0-rc.4","firebase": "4.8.0",

最佳答案

我认为将 Firebase Auth 与 Cloud Functions 结合使用可以解决您的问题。

使用Firebase Authentication创建用户。

然后部署一个监听用户 OnCreate 事件的 Cloud Function。

exports.newUser = functions.auth.user().onCreate(event => {
// Add something to your database here.
});

可以在此处找到云函数触发器的文档:Firebase Authentication Triggers

关于javascript - Angular Firebase 2 检查用户是否存在然后添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48521736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com