Получить данные из QuerySnapshot - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу получить данные из моего облачного пожарного магазина. Коллекция называется «обратная связь». Следующий код работает

  constructor(private fireStore: AngularFirestore) {
    this.fireStore.collection('feedback')
                  .get()
                  .subscribe((item: firebase.firestore.QuerySnapshot) => {
      this.feedbackItems = item.docs.map((dataItem: firebase.firestore.QueryDocumentSnapshot) => dataItem.data());
    });
  }

с импортом

import { AngularFirestore } from '@angular/fire/firestore';

Однако this.feedbackItems теперь является массивом моего объекта обратной связи из облачного пожарного магазина. Можно ли получить результаты как наблюдаемые? Какой профессиональный способ получения данных?

Я нашел несколько решений для stackoverflow, однако некоторые функции были недоступны (наверное, потому что используется другая библиотека или JavaScript?)

1 Ответ

1 голос
/ 05 апреля 2019

Можно ли получить результаты как наблюдаемые?

Вы можете импортировать map из rxjs/operators, чтобы изменить ответ.Затем вы можете назначить его на некоторое наблюдаемое.

this.feedbackItemObservable = this.fireStore.collection('feedback')
  .get()
  .pipe(map((item:firebase.firestore.QuerySnapshot) => {
    return item.docs.map((dataItem: firebase.firestore.QueryDocumentSnapshot) => dataItem.data());
  }));
...