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

160
Vistas
Obtener atributos de objetos de Firestore de una matriz

Solía tener un documento con la siguiente estructura:

ViejoDoc:

members: ['userId1', 'userId2', 'userId3']

Luego escribí una consulta para recuperar todos los documentos relevantes para un usuario:

 const docsSnapshot = await getDocs(query( collection(db, 'organisations'), where('members', 'array-contains', user.uid) ))

Esto funcionó bien, pero ahora necesito almacenar los nombres de los usuarios además de:

members: [{ id: 'userId1', name: 'John Smith' }, { id: 'userId2', name: 'Jane Smith' }]

El desafío al que me enfrento es que no estoy seguro de cómo construir una consulta que produzca los mismos resultados que la primera, es decir, cómo recupero todos los documentos donde cualquiera de los objetos tiene un atributo de id correspondiente al user.uid

Intenté usar: where('members.id', '==', user.uid) pero eso no funcionó.

¿Se puede construir una consulta para hacer esto?

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

0

Firestore no es bueno en este tipo de consultas... Consideraría reestructurar su matriz de miembros para que sea un objeto con user.id como claves.

 members : { userId1: { name: "fred" }, userId2: { name: "martha" } }

Otra forma, y tal vez más alineada con la forma en que Firestore 'quiere' que lo haga, sería crear otros members de la subcolección con un nuevo documento para cada miembro con el doc.id establecido en user.id.

Este enfoque también le permite agregar fácilmente más datos a cada miembro, con el beneficio adicional de realizar consultas sobre miembros que no solo se basan en el ID de usuario.

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