我正在创建一个配置文件页面,用户可以在其中编辑自己的详细信息我有一个Cloud Firestore数据库(不是Realtime DB) . 我正在使用Firebase身份验证,因此当用户登录时,我可以找到UID . 我已将此分配给文档中的每个用户,该文档存储在名为“users”的集合中 . 我正在尝试查询此集合以查找用户的详细信息,以便我可以显示它们/操纵它们等等 . 我查询的条件是id = ...

我已经在observable的map部分尝试了不同的东西,但是,我经常会遇到关于无法分配东西的类型错误...

这是我的Cloud Firestore DB的示例,每个用户都将ID存储为属性 .

firebase database

用户服务:

getUserByQuery(uid : string) : Observable<User> {
    this.userQuery = this.afs.collection('users', 
      (ref) => ref.where('id', '==', uid).limit(1)).snapshotChanges().
          pipe(
            map(action => {.... SOMETHING HERE ....}
          ));
        return this.userQuery;
      }

档案组件:

private observable : Observable<User>;
ngOnInit() {
    //Get ID from auth
    this.id = this.authService.authState;
    this.observable = this.usersService.getUserByQuery(this.id);
    this.subscription = this.observable.subscribe(data => {
      console.log(data);
    });
}

当我控制日志时,我得到以下内容:

Output from console log