【发布时间】:2019-09-25 07:27:18
【问题描述】:
我正在制作一个更新函数,它将根据与经过身份验证的用户的 uid 相关联的文档 uid 获取所需的文档。
在另一个函数中,我使用相同的方法从集合中获取数据,该方法工作正常,但在我将 uid 作为变量存储的函数中,它作为 [object object] 返回我。
这是调用来检索我当前的用户数据的函数
this.user$ = this.afAuth.authState.pipe(
switchMap(user => {
if (user) {
return this.afs.doc<any>(`users/${user.uid}`).valueChanges();
} else {
return null;
}
})
);
然后,这将通过简单地调用例如获得我需要的字段。用户名
但是,当尝试存储文档 uid 时
this.userID = this.afAuth.authState.pipe(
switchMap(user => {
if (user) {
this.userID = user.uid;
} else {
return null;
}
})
);
我的用户 ID 的值就是 [object object]
当调用它时
updateUser(user: User) {
this.userDoc = this.afs.doc(`users/${this.userID}`);
this.userDoc.update(user);
}
返回一个未定义的文档路径 .../documents/users/[object Object]
然后我如何能够跟踪文档 ID 以进行更新?
【问题讨论】:
标签: angular typescript firebase