Básicamente, quiero agregar una colección llamada "artículos" con los siguientes actores y almacenarla en firebase.
Seguí el documento para cargar archivos en firebase. Estaba leyendo el documento paraagregar datos a Firebase, pero era un poco confuso y no estaba seguro de cómo implementarlo.
index.js (para ver la otra mitad superior, aquí )
... () => { getDownloadURL(upload.snapshot.ref).then((downloadURL) => { db.collection("articles").add({ actor: { description: payload.user.email, title: payload.user.displayName, date: payload.timestamp, image: payload.user.photoURL, }, video: payload.video, sharedImg: downloadURL, comments: 0, description: payload.description, }); }); }Sin embargo, cada vez que ejecuto este código, aparece "Rechazo no controlado (TypeError): firebase__WEBPACK_IMPORTED_MODULE_0 _.default.collection no es una función".
base de fuego.js
import { initializeApp } from 'firebase/app'; import { getAuth, GoogleAuthProvider } from 'firebase/auth'; import { getStorage } from "firebase/storage"; import { getFirestore } from "firebase/firestore"; const firebaseConfig = { ... } const firebaseApp = initializeApp(firebaseConfig); const db = getFirestore(firebaseApp); const auth = getAuth(); const provider = new GoogleAuthProvider(); const storage = getStorage(firebaseApp); export { auth, provider, storage }; export default db;¿Algún consejo sobre lo que está yendo mal? ¡Gracias!
Igual que en su pregunta anterior, dado que está utilizando la sintaxis v9 para importar funciones específicas, ya no puede llamar a métodos en db o CollectionReference .
El equivalente de su fragmento en la sintaxis modular v9 es:
const collectionRef = collection(db, "articles") addDoc(collectionRef, { ... })Le recomiendo encarecidamente que dedique algún tiempo a la documentación de Firebase sobre la escritura de datos y a la guía de actualización para familiarizarse con la forma en que la sintaxis de su código existente se asigna a la nueva sintaxis.
Si no desea actualizar su código, también puede considerar usar las compat de compatibilidad de los SDK v9.