在Firebase数据库中查询单个文档

时间:2018-07-08 16:38:19

标签: angular rxjs observable google-cloud-firestore angular2-observables

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

我在可观察的地图部分尝试了不同的操作,但是,我经常遇到类型错误,因为无法将 something 分配给 something ...

这是我的Cloud Firestore数据库外观的示例,每个用户都有一个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

0 个答案:

没有答案
相关问题