Tengo 3 colecciones de firestore
Uso Angular 13 con @angular/fire ("firebase": "^9.4.0")
Ahora para obtener todos los proyectos de un usuario tengo este código
import { Firestore, collectionData, collection, docData, doc, getDocs, query, where } from '@angular/fire/firestore'; ... constructor(private firestore: Firestore){} async getProjects() { // get user const user = await firstValueFrom(docData(doc(this.firestore, '/users/ebq3CamTAWN8TFL5JCA6jdwIK2K3'))) // get organizationRef const organizationRef = doc(this.firestore, user.organization.path) // get projects const projects = query( collection(this.firestore, 'projects'), where("organizationRef", "==", organizationRef) ) const querySnapshot = await getDocs(projects) querySnapshot.forEach((doc) => { console.log(doc.id, " => ", doc.data()); }) }¿Hay alguna manera de consultar esto de una sola vez?
Según su pregunta, parece que desea hacer algo como una consulta de unión o algo así como una subconsulta que es posible con las bases de datos relacionales. Con Firestore no es posible hacer algo así. Por lo tanto, la tarea que está realizando no se puede realizar con una sola consulta. Una consulta de Firestore solo puede obtener documentos de una sola colección a la vez. Si necesita obtener datos de varias colecciones, debe escribir varias consultas como lo hizo en su código para obtener el resultado deseado.