【发布时间】:2023-03-16 21:56:01
【问题描述】:
我想快速提出与 Firestore 查询相关的问题。我的firestore结构如下:
目前我开发了一个搜索系统,用户可以根据team 过滤min 和max 人员。以下是.collection("team")的查询
Firestore.firestore().collection("team")
.whereField("min", isGreaterThanOrEqualTo : filterMin)
.whereField("max", isLessThanOrEqualTo : filterMax)
预期:如果用户放置 filterMin = 0 和 filterMax = 600 将显示 team1 和 team2 的数据,如果用户放置 filterMin = 3 和 filterMax = 500,则仅显示 @ 的数据将显示 987654334@。
但问题是如果我使用上面的代码,我会得到如下错误
'无效的查询。所有具有不等式的过滤器(小于, lessThanOrEqual、greaterThan 或 greaterThanOrEqual) 必须在 同一个领域。但是你在“min”和“max”上有不等式过滤器
我已经阅读了文档,但似乎对我没有多大帮助。我仍然是快速开发和火力基地的新手。谢谢你帮助我。
【问题讨论】:
-
基本上,
Cloud Firestore目前不允许您进行该级别的过滤。一种解决方法可能是运行第一个.whereField查询,然后在获得文档后,为第二个查询过滤数组。
标签: swift firebase google-cloud-firestore