Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

343
Vistas
¿Cómo agregar valor a un mapa, desde una variable en firebase?

Estoy tratando de agregar un mapa a una clave en fire-store. Se vuelve undefined en la consola y está agregando un mapa vacío en firetsore.

Estoy cargando varios archivos a la vez en el almacenamiento y obteniendo imageUrls. imageUrls={0:0.png,1:1.png} de esta función.

 const onUploadFiles = async (images) => { let imageUrls = {}; Promise.all( images.map(async (image) => { const fileRef = storage.ref(`${scanID}/${chapterNumber}/${image.name}`); await fileRef.put(image); imageUrls[getFileName(image.name)] = await fileRef .getDownloadURL() .toString(); console.log(imageUrls[getFileName(image.name)]); }) ); return imageUrls; };

Una vez que se cargan los archivos, intento agregar este mapa a un documento y agregarlo en firestore.

Función de utilidad para almacenar el nombre del archivo como clave. const getFileName = (name) => name.replace(/\.[^/.]+$/, '');

Agregar estas url como un documento.

 //add chapter to firestore const addChapter = async (images) => { var chapter = { id: uuidv4(), title: title, chapterNumber: chapterNumber, }; await onUploadFiles(images) .then((imageUrls) => { chapter['images'] = imageUrls; }) .catch((error) => { console.log('Something went wring with database'); }); db.collection('chapters') .doc(scanID) .set( { [chapterNumber]: chapter, }, //merge { merge: true } ) .then(() => { console.log('Done'); }); };

Rendimiento esperado:

 { "0":{ "title":"title 1", "id":"232131-321-312-331", "chapterNumber":0, "images":{ "0":"0.png", "1":"1.png" } } }

Obtengo un mapa vacío {} en firestore.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si no me malinterpreta, le gustaría cargar las imágenes primero en depósitos de Firebase Cloud Storage y luego recuperar las URL de descarga para incluirlas en un documento que está creando para una colección de Firestore. Si ese es el caso, en esta pregunta relacionada hay un script que puede ayudarlo a cargar imágenes en Firebase Storage. He probado este script y funciona en mi entorno de nodo de prueba. Algo que noté de su código y el script que vinculé es que no hay una propiedad firebaseStorageDownloadTokens que proporcione un token de descarga para sus URL:

 const metadata = { metadata: { // This line is very important. It's to create a download token. firebaseStorageDownloadTokens: uuid() }, ...

He enlazado una guía relacionada con la descarga de tokens y cómo crearlos y obtenerlos. Finalmente, en cuanto a cómo crear objetos Map a partir de una variable para agregar a Firestore, la documentación brinda un ejemplo de un objeto para Firestore:

 const data = { stringExample: 'Hello, World!', booleanExample: true, numberExample: 3.14159265, dateExample: admin.firestore.Timestamp.fromDate(new Date('December 10, 1815')), arrayExample: [5, true, 'hello'], nullExample: null, //Map object objectExample: { a: 5, b: true } };
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda