【问题标题】:How to return Firebase document property using Angular Firestore (Angular 7)?如何使用 Angular Firestore(Angular 7)返回 Firebase 文档属性?
【发布时间】:2019-02-13 08:24:21
【问题描述】:

我正在尝试基于此模型获取 Firebase 文档属性:

我已经找到了一个使用以下代码的文档:

//Users - 集合名称,uid - 文档uid。

接下来,我尝试使用以下代码行获取 isAdmin 属性:

在我收到未定义的结果中。

如何解决?我需要返回isAdmin 属性值,但我不知道该怎么做。

【问题讨论】:

  • 您正在使用异步代码。返回时 isAdmin 参数可能是undefined,因为此时订阅尚未解析。
  • 直接试用user.isAdmin而不是user.payload.data().isAdmin

标签: angular typescript firebase google-cloud-firestore


【解决方案1】:

解决方法很简单:

canActivate(): Observable<boolean> {
  return this.auth.user$
    .pipe(
      switchMap(fireuser => this.userService.get(fireuser.uid).snapshotChanges()),
        map(document => document.payload.data().isAdmin) 
    )
}

【讨论】:

    猜你喜欢
    • 2019-11-23
    • 2019-06-03
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 2021-02-20
    • 2023-03-31
    相关资源
    最近更新 更多