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

441
Vistas
Firebase Firestore: cómo recuperar un campo de matriz de un documento específico y usar esos valores de matriz para asignar documentos

Tengo colecciones de usuarios y grupos. En la colección de usuarios, cada ID de documento es un UID de usuario y cada documento de usuario tiene un campo de matriz "grupos de usuarios" que contiene los grupos a los que pertenece el usuario y esos grupos son la ID de documento del grupo en la colección de grupos.

Pude recuperar la matriz de grupos de usuarios para el usuario actual que almacené en groupRef (ver el código a continuación). Lo que estoy tratando de hacer ahora es asignar esos valores de matriz a la colección de grupos y recuperar solo los documentos que están en groupRef. (Básicamente, el objetivo es mostrar en la interfaz de usuario los grupos de los que es miembro el usuario actual)

colección de grupo de colección de usuario

 const [groupsList, setGroupList] = useState([]); const [groupRef, setGroupRef] = useState([]); const [track, setTrack] = useState('') const handleSubmit = () => { setTrack('start') fire.firestore().collection('users').doc(fire.auth().currentUser.uid).get().then((value) => { console.log("userGroups " + value.data().userGroups) // this returns an object setGroupRef([value.data().userGroups]) }) } useEffect(() => { handleSubmit() }, [track]) console.log("sample list " + groupRef)

 fire.firestore().collection('groups').onSnapshot(snapshot => ( setGroupList(snapshot.docs.map(doc => doc.data())) ))

^ esto devuelve todos los documentos en la colección de grupos. ¿Alguna idea de cómo puedo recuperar solo aquellos de los que el usuario actual es miembro? cualquier ayuda sería muy apreciada. (He estado atascado en esto durante mucho tiempo. También soy nuevo en Firebase).

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

0

@DougStevenson me dirigió al camino correcto para usar array-contains, que es una función de ayuda para consultar/obtener datos. el siguiente código es la respuesta a mi problema. esta forma es más corta y más eficiente que el trabajo que se me ocurrió.

 fire.firestore().collection('groups').where("groupMembers", "array-contains", fire.auth().currentUser.uid).onSnapshot(snapshot => ( setGroupList(snapshot.docs.map(doc => doc.data())) ))
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