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

334
Vistas
¿Cómo puedo usar una consulta en varias ocasiones con firebase?

El registro de mi consola tiene 2 ID diferentes: sender.id y otherparticipants[0].id

Necesito consultar mi primer documento con sender.id U otros Participantes (porque puede ser uno u otro)

Estoy tratando de hacer eso con un operador OR pero Firebase parece no reconocer mi segundo valor.

¿Sabes cómo puedo tener el mismo resultado en el buen sentido?

 .then(() => { console.log('participant', otherParticipants[0].id, sender.id); firebase .firestore() .collectionGroup('favoris') .where('id', '==', sender.id || otherParticipants[0].id) .get() .then((querySnapshot) => { querySnapshot.forEach((doc) => { console.log('data2', doc.data()); firebase .firestore() .collectionGroup('favoris') .where('idUser', '==', sender.id || otherParticipants[0].id) .get() .then((querySnapshot) => { console.log(querySnapshot.size); querySnapshot.forEach((doc) => { console.log('dataFinal', doc.data()); socialFeedsRef .doc(sender.id) .collection('chat_feed') .doc(channel.id) .set( { favoris: true, }, { merge: true }, ); }); }); }); }); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No es así como debe crear una consulta OR en Firestore:

 .where('id', '==', sender.id || otherParticipants[0].id)

En esta línea, el || El operador no ayuda.


Debe crear una matriz que contenga las ID de los usuarios que participan en el chat, por ejemplo, ID de participantIDs: ["yourSenderUID", "yourOtherUid"] .

Luego, en lugar de la llamada anterior, agregue la siguiente:

 .where("participantIDs", "array-contains-any", [sender.id, otherParticipants[0].id])

Cuando ejecute una consulta de este tipo, obtendrá un mensaje de advertencia que suena así:

FAILED_PRECONDITION: la consulta requiere un índice COLLECTION_GROUP_ASC para los favores de la colección y la identificación del campo. Puedes crearlo aquí: ...

Lo que significa que se requiere un índice. Simplemente puede hacer clic en esa URL o copiar y pegar la URL en un navegador web y su índice se creará automáticamente para usted.

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