Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

437
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda