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

143
Vistas
¿Cómo puedo obtener algunos documentos de firestore donde un campo tiene que ser único?

esta función a continuación debería funcionar, sin embargo, estoy luchando para que funcione.

Quiero ir a Listings de colección y asegurarme de que cada listado sea de un Seller diferente

El campo único es sellerID .

Aquí está la función:

 export async function getUniqueHomeListings(amount: number) { const listingsRef = collection(db, "listings"); let sellers = ["_"]; let dataArray = []; [...Array(amount)].map(async () => { console.log("SELLER IDS:", sellers); let q = query( listingsRef, orderBy("sellerID", "desc"), orderBy("date", "desc"), where("status", "==", "listed"), where("sellerID", "not-in", sellers), limit(1) ); const data = await getDocs(q); let tempData = data.docs[0].data() as ListingObject; if (!tempData) { return; } tempData.docID = data.docs[0].id; dataArray.push(tempData); sellers.push(tempData.sellerID); }); return { listings: dataArray, success: true, }; }

Así que básicamente quiero darle una cantidad a una función y me devolverá esa cantidad de listings de vendedores únicos, o tantos como pueda en relación con el parámetro de amount .

El problema es que, cuando la consola registra la matriz de sellers dentro de la función .map() , solo contiene el "_", no la ID del vendedor, por lo tanto, el where("sellerID", "not-in", sellers) no funciona y me devuelve listados de vendedores duplicados.

about 4 years ago · Juan Pablo Isaza
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