【发布时间】:2020-09-22 08:56:36
【问题描述】:
当使用 Angular Firestore 使用电子邮件和密码登录时,用户对象被设置为 auth.service 中的本地存储。为该用户设置了 5 个字段。我想添加一个名为“designer”的附加字段,它是一个布尔值。但是,我不断收到错误消息,提示我尝试将字段设置为“未定义”值。
我不知道如何更改此设置,以便将附加的“设计器”字段作为 result.user 的一部分返回。也许还有其他方法。
身份验证服务
// Sign in with email/password
SignIn(email, password) {
return this.afAuth.signInWithEmailAndPassword(email, password)
.then((result) => {
this.ngZone.run(() => {
this.router.navigate(['profile']);
});
this.SetUserData(result.user);
}).catch((error) => {
window.alert(error.message)
})
}
SetUserData(user) {
const userRef: AngularFirestoreDocument<any> = this.afs.doc(`users/${user.uid}`);
const userData: User = {
uid: user.uid,
email: user.email,
displayName: user.displayName,
photoURL: user.photoURL,
emailVerified: user.emailVerified,
designer:user.designer
}
return userRef.set(userData, {
merge: true
})
}
【问题讨论】:
标签: angular google-cloud-firestore