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

164
Vistas
¿Cómo puedo comparar datos de dos colecciones diferentes?

Estoy recuperando un determinado documento de la colección de products y quería compararlo con otra colección de categories

Documento específico de la colección de Product :

ingrese la descripción de la imagen aquí

Colección de Category :

Puede haber algunos documentos que no tengan options , podrían estar determinadas por el value del campo. Si tiene una cadena yes , entonces tiene options . De lo contrario, será un no .

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Ya puedo mostrar el documento específico de la colección de product . Usé el map para mostrar los productos.

Dentro de ese mapa, quería tener una declaración condicional que mostrara todas las options si la categoría del producto actual coincide con cualquiera de los documentos en las categories de la colección que tiene options .

Por ejemplo, el producto actual es Shirt con una categoría de SL . En la colección de category , la SL sí tiene opciones.

Y si el producto actual no tiene ninguna options , simplemente mostrará "Sin opciones".

Lo que hice:

 {product && product.map((prod, index) => ( <li>{prod.cat}</li> <li>{prod.prodName}</li> //if the current product matches with any of the document in the collection category, then show the options, else show "no options" {category && category.map((c, index) => ( <> <li>{c.cat}</li> {c.cat === prod.cat ? <>1</> : <>2</>} </> ))} ))}

¿Cómo puedo hacer esto?

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

0

Parece que ha creado un esquema basado en relaciones y le gustaría realizar una combinación externa mediante declaraciones condicionales. La función de mapa no admite declaraciones condicionales ya que su función es transformar entidades. Como se compartió, Firestore no admite la unión en colecciones, ya que es un tipo de base de datos de almacenamiento de documentos.

Para ayudarlo a comenzar, Java Script permite crear una declaración if en el cuerpo de la función de mapa, para obtener más detalles, consulte

  • ¿Cómo usar if dentro de un mapa de retorno?

La estrategia alternativa para usted sería mantener los datos dentro de la estructura principal (producto) y luego obtener todos los datos mediante una sola solicitud y presentarlos en consecuencia o tal vez desee escribir código para leer cada documento en cada colección que necesitaría una comparación. , y también realizar esa comparación con los documentos en memoria. A continuación, comparto algunos recursos que pueden ser útiles para comprender cómo se deben estructurar los datos en Firestore.

  • https://www.youtube.com/watch?v=haMOUb3KVSo
  • https://www.youtube.com/watch?v=jm66TSlVtcc
  • https://www.youtube.com/watch?v=o7d5Zeic63s
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