Добавляйте предложение where к запросу только при необходимости:
учил некоторые данные из firestore, но в свой запрос я хочу добавить условное предложение where. Я использую async-await для API и не уверен, как добавить условное предложение where.
Вот моя функция
export async function getMyPosts (type) {
await api
var myPosts = []
const posts = await api.firestore().collection('posts').where('status', '==', 'published')
.get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.data())
})
})
.catch(catchError)
}
В моей основной функции я получаю параметр под названием «тип». Основываясь на значении этого параметра, я хочу добавить еще одно предложение qhere к вышеуказанному запросу. Например,if type = 'nocomments'
затем я хочу добавить предложение where.where('commentCount', '==', 0)
, в противном случаеif type = 'nocategories'
, тогда предложение where будет запрашивать другое свойство, такое как.where('tags', '==', 'none')
Я не могу понять, как добавить эту условную оговорку where.
ПРИМЕЧАНИЕ: в firestore вы добавляете несколько условий, просто добавляя свои предложения where, такие как -.where("state", "==", "CA").where("population", ">", 1000000)
и так далее.