例如,我的书籍列表中有动态过滤器,我可以设置特定的颜色,作者和类别.此过滤器可以一次设置多种颜色和多个类别.
Book > Red, Blue > Adventure, Detective.
Run Code Online (Sandbox Code Playgroud)
如何有条件地添加"where"?
firebase
.firestore()
.collection("book")
.where("category", "==", )
.where("color", "==", )
.where("author", "==", )
.orderBy("date")
.get()
.then(querySnapshot => {...
Run Code Online (Sandbox Code Playgroud) 我从firestore获取了一些数据但在我的查询中我想添加一个条件where子句.我正在使用async-await for api而不确定如何添加consitional 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)
}
Run Code Online (Sandbox Code Playgroud)
在我的主要功能中,我得到了一个名为'type'的参数.根据该参数的值,我想在上面的查询中添加另一个qhere子句.例如,if type = 'nocomments'然后我想添加一个where子句.where('commentCount', '==', 0)否则if type = 'nocategories',那么where子句将查询另一个属性,如.where('tags', '==', 'none')
我无法理解如何添加此条件where子句.
注意:在firestore中添加多个条件,只需添加where子句,如 - .where("state", "==", "CA").where("population", ">", 1000000)等等.