如何在消防店查询中应用逻辑 AND (&&)



我想用AND逻辑运算符合并这些查询,所以我只得到满足这两个条件的数据

.where("sportType", "in", sportFilter)
.where("floorType", "array-contains-any", floorFilter)

我试着像这个一样使用嵌套的where

ref
.where("sportType", "in", sportFilter)
.where("floorType", "array-contains-any", floorFilter)
.onSnapshot((snapshot) => {
snapshot.forEach((doc) => {
items.push(doc.data())
})
setLoading(false)
})

但它出现了一个错误,比如:

FirebaseError: Invalid query. You cannot use 'array-contains-any' filters with 'in' filters.

编辑

这是我的收藏结构,我想得到一份有sportType五人制足球和floorType Grass 的文件

[
{
name: "Golden Goal",
sportType: "Futsal",
floorType: "Grass"
},
{
name: "Goalie",
sportType: "Football",
floorType: "Grass"
},
{
name: "Gold",
sportType: "Futsal",
floorType: "Vinyl"
},
]

从文档:每个查询最多可以使用一个innot-inarray-contains-any子句。不能在同一查询中组合这些运算符


我想要一份有sportType五人制足球和floorType Grass的文件。

这将是正确的查询:

ref.where('sportType', '==', 'Futsal')
.where('floorType', '==', 'Grass');

最新更新