I have following data structure in firestore:
- flights [collection]
- user1 [doc]
- userFlights [sub collection]
- flight 1
- flight 2
- flight 3
- userFlights [sub collection]
- user2 [doc]
- userFlights [sub collection]
- flight 1
- flight 2
- flight 3
- userFlights [sub collection]
- user1 [doc]
In order to read the data from all userFlights subcollections i use nested query as shown below.
My question: Would nested queries cause performance issues?
const userFlightRef = query(collection(db, "flights"));
const userUidDoc = await getDocs(userFlightRef);
userUidDoc.forEach(async userDoc => {
const userFlightsQuery = query(collection(db, "flights/" + userDoc.id + "/userFlights"))
const userFlights = await getDocs(userFlightsQuery);
userFlights.forEach(flyer => {
console.log(flyer.data());
});
});
Thanks in advance
Advertisement
Answer
If you want to search all userFlights collections, you can use a collection group query.
You can get all documents from all userFlights collections with:
getDocs(collectionGroup(db, "userFlights"));