gpt4 book ai didi

javascript - Firestore : Multiple conditional where clauses

转载 作者:可可西里 更新时间:2023-11-01 02:51:06 25 4
gpt4 key购买 nike

例如,我的图书列表有动态过滤器,我可以在其中设置特定的颜色、作者和类别。此过滤器可以一次设置多种颜色和多个类别。

   Book > Red, Blue > Adventure, Detective.

如何有条件地添加“where”?

  firebase
.firestore()
.collection("book")
.where("category", "==", )
.where("color", "==", )
.where("author", "==", )

.orderBy("date")
.get()
.then(querySnapshot => {...

最佳答案

如您在 API 文档中所见,collection()方法返回 CollectionReference . CollectionReference 扩展 Query , 和 Query 对象是不可变的。 Query.where()Query.orderBy()返回在原始查询(保持未修改)之上添加操作的新查询对象。您将不得不编写代码来记住这些新的 Query 对象,以便您可以继续对它们进行链式调用。因此,您可以像这样重写代码:

var query = firebase.firestore().collection("book")
query = query.where(...)
query = query.where(...)
query = query.where(...)
query = query.orderBy(...)
query.get().then(...)

现在您可以输入条件来确定要在每个阶段应用哪些过滤器。只需为每个新添加的过滤器重新分配 query

if (some_condition) {
query = query.where(...)
}

关于javascript - Firestore : Multiple conditional where clauses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48036975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com