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

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

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 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