Conditional where clause in firestore queries
我已经从firestore中获取了一些数据,但是在查询中我想添加一个条件where子句。 我正在使用api的async-await,但不确定如何添加常规的where子句。
这是我的功能
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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子句。 例如,
我无法理解如何添加此条件where子句。
注意:在firestore中,只需附加诸如-。
仅在需要时将where子句添加到查询中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | export async function getMyPosts (type) { await api var myPosts = [] var query = api.firestore().collection('posts') if (your_condition_is_true) { // you decide query = query.where('status', '==', 'published') } const questions = await query.get() .then(snapshot => { snapshot.forEach(doc => { console.log(doc.data()) }) }) .catch(catchError) } |