Las funciones relacionadas con la autenticación funcionan, pero con firestore no puedo hacer que suceda nada. Try catch no devuelve errores ni éxitos. Creé Firestore en Firebase Console, las cuentas creadas se muestran correctamente desde la autenticación, pero simplemente no puedo hacer que suceda nada en la base de datos de FireStore.
export const myApp = initializeApp(firebaseConfig); // firebase.firestore().settings({ experimentalForceLongPolling: true }); export const db = getFirestore(myApp); export const auth = getAuth(myApp); export const logout = signOut; // const dbInstance = collection(database, 'users'); export const addUser = async () => { try { console.log("Firing add function"); const docRef = await addDoc(collection(db, "users"), { first: "Ada", last: "Lovelace", born: 1815, }); console.log("Document written with ID: ", docRef); // console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); } };Solo obtengo "Firing add function" y luego nada. Sin errores ni nada.
Si elimino la espera y luego la consola docRef en lugar de docRef.id, obtengo "Documento escrito con ID:" y una Promesa en estado pendiente.
Editar: traté de usar getDocs
export const getUsers = async () => { console.log("Getting users") const querySnapshot = await getDocs(collection(db, "users")); querySnapshot.forEach((doc) => { // doc.data() is never undefined for query doc snapshots console.log(doc.id, " => ", doc.data()); }); console.log("After get users") };@firebase/firestore: Firestore (9.6.11): no se pudo acceder al backend de Cloud Firestore. La conexión falló 1 vez. Error más reciente: FirebaseError: [code=not-found]: el proyecto no definido no existe o no contiene una base de datos activa de Cloud Datastore o Cloud Firestore. Visite http://console.cloud.google.com para crear un proyecto o https://console.cloud.google.com/datastore/setup?project=undefined para agregar una base de datos de Cloud Datastore o Cloud Firestore. Tenga en cuenta que Cloud Datastore o Cloud Firestore siempre tienen una aplicación de App Engine asociada y esta aplicación no debe deshabilitarse. Esto generalmente indica que su dispositivo no tiene una buena conexión a Internet en este momento. El cliente funcionará en modo fuera de línea hasta que pueda conectarse con éxito al backend.
Pero voy a mi consola y mi Firestore está aquí y tiene una colección y un documento que hice aquí desde la consola.
Vergonzoso, registré mi objeto firebaseConfig en la consola y me di cuenta de que mi FIREBASE_PROJECT_ID no estaba definido, miré mi archivo env y me di cuenta de que no estaba en mayúsculas, por lo que mis solicitudes de firebase simplemente no pudieron encontrar mi firestore.
No habría pensado en mirar aquí ya que mis funciones relacionadas con la autenticación funcionaban perfectamente, pero supongo que las funciones relacionadas con la autenticación no necesitaban la ID del proyecto para funcionar, así que nunca detecté el error ortográfico.