如何遍历数组,并从数据库Angular 5获取一些数据

时间:2018-02-10 03:06:47

标签: javascript arrays angular

我在组件类(Angular 5)中有以下数组:

this.collectionAdmins = ['uid_73hd', 'uid_38ng'];

由于我的数据库(firebase)中有用户信息表,我想循环遍历this.collectionAdmins数组,从数据库中检索每个用户信息,因此可以在模板中显示该信息。

'uid_73hd': {
  "bio": "about me info",
  "email": "email2@gmail.com",
  "status": "online",
  "uid": "uid_73hd",
  "username": "mary"
},
'uid_38ng': {
  "bio": "about me info",
  "email": "email@gmail.com",
  "status": "online",
  "uid": "uid_38ng",
  "username": "john"
}

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

因为您使用的是Firestore和AngularFire2,我们可以使用以下解决方案:

import { combineLatest } from 'rxjs/observable/combineLatest';

export class YourComponent {
  collectionAdmins = ['uid_73hd', 'uid_38ng'];


  constructor(private afs: AngularFirestore) {

    const abs = this.collectionAdmins
      .map(id => afs.doc<User>(`users/${id}`).valueChanges()); // users table, replace with your real table
    this.collections$ = combineLatest(abs);
  }
}

p / s:结合了observable的其他一些运算符:forkJoin,zip。或者Promise.all如果你想使用Promise而不是Observable。