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

509
Vistas
¿Cómo consultar dentro de una matriz de objetos en Firestore?

Estoy tratando de consultar una serie de objetos de mi base de datos de Firestore, probé muchos métodos, como array-contains , array-contains-any , in , pero fue en vano.

Tengo una matriz de usuarios, y es una matriz de objetos, cada objeto tiene dos propiedades: id y rol. Quiero escribir una consulta que obtendrá selectivamente un documento en el que el usuario que ha iniciado sesión actualmente está presente en la matriz del usuario.

 db.collection('chatRooms') .where(/* What am I supposed to do here */) .get() .then((snapshot) => { setRooms( snapshot.docs.map((room) => { return { id: room.id, data: room.data() }; }) ); });

Aquí hay una instantánea de cómo estoy almacenando los datos:

Aquí hay una instantánea de cómo estoy almacenando los datos

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

0

Para usar array-contains en una matriz de objetos, debe conocer el objeto completo. Parece factible en este caso si también conoce el UID del usuario y el rol actuales. Intenta ejecutar la siguiente consulta:

 const userId = firebase.auth().currentUser.uid db.collection('chatRooms') .where('users', 'array-contains', { id: userId, role: 'Admin' }) .get() .then((snapshot) => { setRooms( snapshot.docs.map((room) => { return { id: room.id, data: room.data() }; }) ); });

¡La consulta anterior devolverá documentos donde la matriz de usuarios contiene el UID del usuario actual con el rol de 'Administrador' solamente! Actualmente no hay forma de consultar en función de un solo campo en la matriz de objetos.

Si no conoce el rol del usuario, es posible que deba almacenar a los usuarios como una subcolección en lugar de una matriz.

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