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

185
Views
Firestore: obtenga múltiples documentos a través de fieldPath complejo (función where)

Guardé diferentes productos en mi Firestore y están disponibles para su compra en diferentes días de la semana. Así que aseguré la disponibilidad en diferentes días como una matriz de 7 valores booleanos en mi Firestore.

 weekdays = [true, true, true, false, false, true, false];

Ahora, si quiero obtener todos los productos que están disponibles el viernes, tendría que hacer algo como esto:

 // assume date.getDay() is 5 const q = query( collection(db, "bakerys", `${bakery.id}`, "products"), where(`weekdays[${date.getDay()}]`, "==", "true") ); const querySnapshot = await getDocs(q);

Esto no parece funcionar. ¿Realmente tengo que almacenar cada día de la semana en su propio valor por separado para que esto funcione o hay una manera de hacer que esto funcione de manera diferente?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede almacenar los días directamente en lugar de un valor booleano como este:

 weekdays = ['Monday', 'Friday'];

Luego ejecuta esta consulta:

 const q = query( collection(db, "bakerys", `${bakery.id}`, "products"), where(`weekdays`, "array-contains", "Monday") );

Esta consulta obtendrá todos los documentos en los que la matriz de weekdays de la semana contenga Monday . Si desea almacenar valores booleanos con índice de día, deberá almacenar un mapa como este:

 weekdays = { 1: true, 5: false }

Aquí puede utilizar la siguiente consulta:

 const q = query( collection(db, "bakerys", `${bakery.id}`, "products"), where(`weekdays.${date.getDay()}`, "==", true) );

Además, tenga en cuenta que su matriz original contiene valores booleanos pero su consulta tenía "true" (cadena). Asegúrese de que los tipos en db y query coincidan.

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!