Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

500
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!