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

135
Vistas
Agregar documentos de firebase a una lista

así que en este momento tengo una colección que se parece a: https://i.stack.imgur.com/lxYoA.png . Entonces, en esta colección tiene una lista que consta de listas anidadas. Pero básicamente quiero hacer un ciclo for que agregue todo esto a una sola lista, pero lo que estoy haciendo a continuación es simplemente agregar una lista vacía a firebase.

En Firebase, agregué listas individuales a otra lista, ya que los documentos consisten en listas que hice a continuación y crea la captura de pantalla que tengo arriba.

 const snapshot = await fire.firestore() .collection("groupsCategory") .doc(groupID) .collection('events') .doc(eventID) .collection("memberPicks").get() const data = snapshot.docs.map(doc => doc.data()) snapshot.docs.map(doc => doc.data()) const db = fire.firestore(); const likesList = []; snapshot.docs.forEach((doc) => { likesList.push(doc.data()) })

Como puede ver aquí, estoy tratando de obtener cada elemento de la lista y tenerlo en una lista y no en una lista de listas anidadas. ¿Dónde me estoy equivocando?

 const arr1 = likesList.flat(); const newArr = []; for (let i = 0; i < arr1; i++) { newArr.push(arr1[i]) } db.collection("eventLikes") .doc(eventID) .set({ ActivityLikes: newArr }) }
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Según entiendo su pregunta, desea configurar un documento que no tenga una lista anidada de userLikes . Para poder lograrlo, debe iterar los datos en los que está obteniendo los objetos de userLikes y empujándolos en una matriz. Vea el código a continuación:

 var userLikes = []; const snapshot = await db .collection("groupsCategory") .doc(groupID) .collection('events') .doc(eventID) .collection("memberPicks").get() snapshot.docs.forEach((doc) => { // Gets the List of `ActivityLikes` const activityLikes = doc.data().ActivityLikes; // Iterate the List of `ActivityLikes` activityLikes.forEach((activityLike) => { // Push the data object of `userLikes` to the initiated array: `userLikes` userLikes.push(activityLike.userLikes[0]); }) }) // This sets the data as follows: // Map (ActivityLikes) > Array (userLikes) > Map (userLikes Object) db.collection("eventLikes") .doc('eventID') .set({ ActivityLikes: {userLikes} })

Se agregaron algunos comentarios sobre el código anterior para comprender mejor.

Aquí está la captura de pantalla del resultado: ingrese la descripción de la imagen aquí


Eche un vistazo a esta documentación para comprender mejor el trabajo con objetos y matrices:

  • Trabajar con objetos
  • arreglos
about 4 years ago · Santiago Gelvez 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