Запрос Firebase AngularFirestoreCollection с использованием нескольких идентификаторов - PullRequest
0 голосов
/ 24 октября 2018

Я передаю массив идентификаторов провинций provinceIds и хочу запросить и вернуть все Universities в каждом Province.Пока я возвращаю только университеты из первой провинции.Существует ровно 9 возможных идентификаторов, которые можно передать (9 провинций Южной Африки).Я попытался повторить, и я только что закончил с большим количеством странного кода, который «я» сам не понимал.

Если вы знаете какой-либо другой способ сделать это, я открыт.

enter image description here

export class UniversitiesService {
  private collection: AngularFirestoreCollection<University>;
  universities: Observable<University[]>;
  constructor(
    private afs: AngularFirestore
  ) { }

  getUniversitiesByProvince(provinceIds: string[]): Observable<University[]> {
    this.collection = this.afs.collection('Universities',
        ref => ref.where('provinceID', '==', provinceIds[0]));
    this.universities = this.collection.snapshotChanges()
      .map(actions => {
        return actions.map(a => {
          const data = a.payload.doc.data() as University;
          data.Id = a.payload.doc.id;
          return data;
        });
      });
    return this.universities;
  }

}
...