我知道我们允许每个查询在一个字段上使用一个不等式过滤器。但是,我的问题是,是否可以在同一字段上多次使用iEqualTo
查询?
我的意思的例子:
var price = 100
query.whereField"price", isEqualTo: price-1) - 99
query.whereField"price", isEqualTo: price-2) - 98
query.whereField"price", isEqualTo: price-3) - 97
这是否会返回价格字段在99-97之间的所有项目?还是只解释该字段的最终/最后查询,以便仅返回价格为97的地方?我已经使用了一个配额的范围/不相等过滤器,所以目前这可能是一个可行的解决方案。
我有一个很大的数据集,我需要查询多个字段,我可以在客户端执行此操作,但是,我试图限制尽可能多的数据,以便于读取。
谢谢。
答案 0 :(得分:1)
有两种方法可以完成您想要的事情:
使用range query:ref.where("price", ">=", 97).where("price", "M=", 99)
使用in
query:ref.where("price", "in", [97, 98, 99])
有关这两者的更多信息,请参阅queries上的Firebase文档。