我一直在使用Firestore来构建Android应用,但我遇到了下一个限制,就是我不知道如何处理它。
我需要通过存储在数组字段中的标签来检索文档。但是,每个查询只能有一个 whereArrayContains
。我应该如何通过多个标签获取文档?
您能想到任何明智的解决方案吗?
答案 0 :(得分:1)
查询中只能有一个whereArrayContainsAny
条件,但是最多可以有10个whereArrayContains
条件。
摘自query limitations上的文档:
- Cloud Firestore仅提供对逻辑
OR
查询的有限支持。in
和array-contains-any
运算符在单个字段上支持最多10个相等(OR
)或==
条件的逻辑array-contains
。对于其他情况,请为每个OR
条件创建一个单独的查询,然后将查询结果合并到您的应用中。
- 每个查询只能使用一个
in
或array-contains-any
子句。您不能在同一查询中同时使用in
和array-contains-any
。