【发布时间】:2021-09-20 17:40:01
【问题描述】:
我正在尝试在已经具有范围过滤器(geohash 查询)的查询中使用不等于 (!=) 运算符,认为这应该与等于 (==) 查询的行为相同。
但在运行该查询时,我收到以下错误消息提示:
未处理的异常:初始 orderBy() 字段“[[FieldPath([location, geohash]), false]][0][0]”必须与 where() 字段参数“FieldPath([ expire_at])" 调用不等式运算符时。
现在,我了解到,由于索引的工作方式,firestore 仅允许每个查询使用一个范围过滤器。我不明白的是为什么这里的not-equal 操作被认为是一个范围过滤器。
换句话说:not-equal 操作只是.where(x > y).where(x < y) 的合成糖吗?
【问题讨论】:
-
你能提供更多细节吗?也许您正在尝试的查询。