Soy un nuevo desarrollador sin experiencia en aplicaciones web. Tengo una colección llamada "usuarios" en Firestore en la que los ID de los documentos son los correos electrónicos de los usuarios. Estoy tratando de leer los datos en uno de los documentos siguiendo el ejemplo proporcionado por Firebase aquí
Me sale dos errores:
Pasé por alto el primero al omitir "esperar", pero no puedo evitar el segundo. ¿Tienes alguna idea de lo que está mal con mi código?
console.log(docSnap) da el siguiente mensaje: "Promesa {pendiente}"
Gracias.
requestForm.addEventListener('submit', (event) => { event.preventDefault(); const user = auth.currentUser; const docSnap = await getDoc(doc(db, "users", user.email)); if (docSnap.exists()) { console.log("Document data:", docSnap.data()); } else { console.log("No such document!"); } })Parece que devuelve una Promise y no cumple con los requisitos de async/await . Prueba de esta manera.
getDoc(doc(db, "users", user.email)).then(docSnap => { if (docSnap.exists()) { console.log("Document data:", docSnap.data()); } else { console.log("No such document!"); } })Tenga cuidado, getDoc vs getDocs
Para un solo documento
import { doc, getDoc } from "firebase/firestore"; const docRef = doc(db, "cities", "SF"); const docSnap = await getDoc(docRef); if (docSnap.exists()) { console.log("Document data:", docSnap.data()); } else { // doc.data() will be undefined in this case console.log("No such document!"); }Para todo documento
import { collection, getDocs } from "firebase/firestore"; const querySnapshot = await getDocs(collection(db, "cities")); querySnapshot.forEach((doc) => { // doc.data() is never undefined for query doc snapshots console.log(doc.id, " => ", doc.data()); });