Estoy escribiendo una consulta en firebase, pero quiero agregar la condición where() según la condición. Por ejemplo, si existen algunos valores, entonces se debe incluir where() de lo contrario, se debe ejecutar la consulta normal tal como está. A continuación se muestra mi código. Verifiqué usando console.log si se pasa la condición pero la consulta devuelve todos los resultados. Por favor, ayúdame a solucionar este problema.
const loadPapers = () => { let t = savedTopifyPapers if (queryParams.value.key && queryParams.value.value) { t.orderBy('timeStamp') .limit(limit.value) .where(queryParams.value.key.toString(), '==', queryParams.value.value) } else { t.orderBy('timeStamp').limit(limit.value) } t.onSnapshot((snapshot) => { const _lastDoc = snapshot.docs[snapshot.docs.length - 1] firstVisible.value = snapshot.docs[0] if (_lastDoc) { lastDoc.value = _lastDoc } if (snapshot.empty) { loadingData.value = false } papersData.value = snapshot.docs.map((doc) => { const data = doc.data() const id = doc.id loadingData.value = false return { id, ...data } }) papersDataLength.value = papersData.value.length }) }¡Cualquier solución apreciada!
simplemente tome la referencia de collection .
let query = firebase.firestore().collection(collectionName) .
query = query.where(...) query = query.where(...)y con uso de condición
if (condition) { query = query.where(...) }ejecutar consulta después de agregar todas las cláusulas.
query.get().then(...)