Estoy tratando de obtener todos los documentos en una subcolección siguiendo la documentación de firebase, sin embargo, aparece el error 'esperar es un identificador reservado'.
Este es mi código actualmente y no veo dónde se podría usar 'async' con await y la documentación no indica que se usaría.
getAuth().onAuthStateChanged((user) => { if (user) { const app = initializeApp(firebaseConfig); const db = getFirestore(app); //reference to the subcollection of subjects in the user's document const subjectRef = collection(db, "users", auth.currentUser.uid, "subjects"); const querySnapshot = await getDocs(subjectRef); querySnapshot.forEach((doc) => { console.log(doc.id, "=>", doc.data()); }); } }); He intentado obtener todos los documentos con db.collection.('users').document(auth.currentUser.uid).collection('subjects').get() where db = getFirestore(app), sin embargo, esto no funciona ya que aparece el error 'db. collection no es una función' y cualquier solución que haya encontrado no es relevante ya que db se refiere a firestore, no a la base de datos en tiempo real.
Debe hacer que la devolución de llamada sea asíncrona:
getAuth().onAuthStateChanged(async (user) => { if (user) { const app = initializeApp(firebaseConfig); const db = getFirestore(app); //reference to the subcollection of subjects in the user's document const subjectRef = collection(db, "users", auth.currentUser.uid, "subjects"); const querySnapshot = await getDocs(subjectRef); querySnapshot.forEach((doc) => { console.log(doc.id, "=>", doc.data()); }); } });