Quiero consultar Firestore db y ordenar por dos campos. Los documentos oficiales sugieren que simplemente puedo combinar las instrucciones orderBy a través orderBy('field1').orderBy('field2') pero cuando ejecuto un código similar, aparece el siguiente error en la consola:
Project.js:62 Uncaught (in promise) TypeError: (0 , firebase_firestore__WEBPACK_IMPORTED_MODULE_0__.orderBy)(...).orderBy is not a function
Mi código:
const projectRef = doc(db, 'projects', projectId) const docSnap = await getDoc(projectRef) if(docSnap.exists()) { const imagesInfoRef = collection(db, 'projectGalleryImages') const imagesInfoDocsSnapshot = await getDocs(query(imagesInfoRef, where('project', '==', projectRef), orderBy('displayOrder').orderBy('createdOn'))) imagesInfoDocsSnapshot.docs.map(imageInfo => { const imageRef = ref(storage, `project/${projectId}/images/${imageInfo.fileName}`) loadImageURL(imageRef) }) }¿Por qué recibo este error?
Está mezclando la sintaxis de espacio de nombres más antigua con la sintaxis modular más nueva. En este último, cada llamada orderBy es una instrucción independiente:
query(imagesInfoRef, where('project', '==', projectRef), orderBy('displayOrder'), // 👈 comma here, instead of a dot orderBy('createdOn') )