Estaba tratando de usar una base de datos en mi proyecto, así que importé 'colección' para usarla, este es mi código:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.0.2/firebase-app.js"; import { getAuth, createUserWithEmailAndPassword, signOut, signInWithEmailAndPassword, onAuthStateChanged } from "https://www.gstatic.com/firebasejs/9.0.2/firebase-auth.js"; import { getFirestore, collection } from "https://www.gstatic.com/firebasejs/9.0.2/firebase-firestore.js"; const firebaseConfig = { apiKey: "AIzaSyC3GLIN5TBmCDoTfy0dEOgOdvVvqNw-ric", authDomain: "auth-project-38aaa.firebaseapp.com", projectId: "auth-project-38aaa", storageBucket: "auth-project-38aaa.appspot.com", messagingSenderId: "431888894254", appId: "1:431888894254:web:71bb9b250fbb8a21edd2bf", measurementId: "G-6BBPCJ3814" }; const app = initializeApp(firebaseConfig); const auth = getAuth(app); const db = getFirestore(app); // get data collection(db, 'guides').get().then(snapshot => { console.log(snapshot.docs); });pero en lugar de mostrarme el 'snapshot.docs' en la consola me da este mensaje:
auth.js:20 Uncaught TypeError: collection(...).get is not a function at auth.js:20Por favor ayúdame a resolver este problema.
Estás importando el nuevo SDK modular/funcional, donde el equivalente de collectionRef.get() es en realidad:
getDocs(collection(db, 'guides')).then(snapshot => { ...La documentación de Firebase en sí se ha actualizado para contener tanto los fragmentos más antiguos como los fragmentos de la nueva API, como en este caso la documentación sobre cómo obtener varios documentos .
Pero si es nuevo en Firebase y usa código de otros lugares, es posible que aún no tengan ambos estilos de fragmentos. En ese caso, podría ser más fácil comenzar importando las compat de compatibilidad de los nuevos SDK, mientras descubre cómo funciona todo. Si solo quieres hacer eso para Firestore, sería:
import 'firebase/compat/firestore';