首页 > 解决方案 > Firestore 复合查询 - 结合 not-in 和不等式?

问题描述

我想执行一个结合不等式<和的复合查询not-in

collection("somecollection)
.where("field1", "<", somevalue)
.where("field2", "not-in", [value1,value2,value3] 

查看 Firestore 中记录的查询限制,这应该是可能的

但我收到以下错误:

FirebaseError:无效的查询。具有不等式(<、<=、> 或 >=)的所有 where 过滤器必须位于同一字段中。但是您在“field1”和“field1”上有不等式过滤器

那么是不是not-in除了自身的限制之外,也有!=操作符的限制呢?

在复合查询中,范围 (<, <=, >, >=) 和不等于 (!=) 比较必须都过滤同一字段。

那将是一个非常糟糕的...

我正在使用网络客户端 v8.2.0

标签: firebasegoogle-cloud-firestore

解决方案


有点晚了,但现在有这个问题,所以你知道firebase有一个限制,当“比较(<,<=,>,> =)时,你的第一个排序必须在同一个字段上”当使用“where”时和“orderBy”所以我的工作方式只是检索列表,然后在我的代码中对我想要的字段中的列表库进行排序,它工作得很好


推荐阅读