Uso @angular/fire para consultar datos y quiero ahorrar el costo de firebase al reducir el número de llamadas de la consulta de firebase.
Tengo 2 funciones que consultan de la misma colección. Primero es obtener todos los datos y segundo es consultar con condición. Cómo la segunda función para consultar datos de la primera función para que solo llame 1 vez si consulta Firebase
constructor(private _afs: AngularFirestore)función 1 obtener todos los datos del usuario
this._afs.collection('firebase-user-table').valueChanges().subscribe(data => { console.log('User data:', data); })la función 2 obtiene solo qué usuario is_admin es verdadero
this._afs.collection('firebase-user-table', (ref) => ref.where(is_admin, '==', true)).valueChanges().subscribe(data => { console.log('Admin data:', data); })Podrías hacer algo como esto usando rxjs:
let allUsers$ = this._afs.collection('firebase-user-table').valueChanges(); let adminUsers$ = allUsers$.pipe( map((users) => users.filter(user)) => user.is_admin) )Luego suscríbase a cada observable según sea necesario