2017-06-27 41 views
0

我試圖檢索火力地堡用戶配置文件,使用AngularFire2的屬性。AngularFire2:獲取用戶屬性值

只是要清楚我沒有試圖讓auth對象,用戶配置文件是一個自定義對象我在數據庫中存儲。所以基本上我正在查詢auth對象以獲取用戶標識,然後通過用戶ID查詢用戶對象檢索另一個屬性。

這是我寫的代碼,但我只似乎能夠獲得訪問整個對象,如果我嘗試下面我對帳戶ID屬性得到一個編譯錯誤。任何指導,將不勝感激

constructor(
    private af: AngularFireDatabase, 
    private _firebaseService: FirebaseService, 
    private afAuth: AngularFireAuth) { 

    this.authProfile$ = afAuth.authState; 
    this.authProfile$.subscribe((auth: firebase.User) => { 
     if (auth) { 
      this.loginId = auth.uid; 
      this.af.list('users', { 
       query: { 
        orderByChild: 'userId', 
        equalTo: this.loginId 
       } 
      }).subscribe((user) => { 
       this.currentAccountId = user.accountId; //Compile error here 
      }) 
     } 
    }); 

回答

0

好,我摸索出這是一個簡單的錯誤,我被拉回一個數組,並試圖像一個單一的對象來訪問屬性。

這工作:

constructor(
    private af: AngularFireDatabase, 
    private _firebaseService: FirebaseService, 
    private afAuth: AngularFireAuth) { 

    this.authProfile$ = afAuth.authState; 
    this.authProfile$.subscribe((auth: firebase.User) => { 
     if (auth) { 
      this.loginId = auth.uid; 
      this.af.list('users', { 
       query: { 
        orderByChild: 'userId', 
        equalTo: this.loginId, 
        limitToFirst: 1 
       } 
      }).subscribe(user => { 
       this.currentAccountId = user[0].accountId; 
       console.log(this.currentAccountId); 
      }) 
     } 
    });