typescript - Obține date din QuerySnapshot
Vreau să obțin date din cloud firestore-ul meu. Colecția se numește 'feedback'. Codul următor funcționează
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());
});
}
cu importul
import { AngularFirestore } from '@angular/fire/firestore';
Totuși, this.feedbackItems este acum un array al obiectului meu de feedback din Cloud Firestore. Este posibil să obțin rezultatele ca un observable? Care este modul profesionist de a obține datele?
Am găsit mai multe soluții pe StackOverflow, totuși unele funcții nu erau disponibile (presupun că din cauză că se folosește o bibliotecă diferită sau JavaScript?)
Răspuns #1
Este posibil să obținem rezultatele ca un observable?
Poți importa map din rxjs/operators pentru a modifica răspunsul. Apoi îl poți atribui unui anumit observable.
this.feedbackItemObservable = this.fireStore.collection('feedback')
.get()
.pipe(map((item:firebase.firestore.QuerySnapshot) => {
return item.docs.map((dataItem: firebase.firestore.QueryDocumentSnapshot) => dataItem.data());
}));
