正如控制台中显示的错误消息以及Firetore文档中所详细说明的“You can perform range(〈,〈=,〉,〉=)or not equals(!=)comparisonsonly on a single field”。在您的情况下,您在两个不同的字段上有一个〉=和一个!=子句。 没有任何解决方案,因为这是Firestore的限制(并且调整索引不会改变情况)。 您可以尝试调整数据模型以规避限制,但我认为在您的情况下,不可能有任何简单的数据模型调整。 可能的(但不理想的)方法的非详尽列表:
1条答案
按热度按时间eagi6jfj1#
正如控制台中显示的错误消息以及Firetore文档中所详细说明的“You can perform range(〈,〈=,〉,〉=)or not equals(!=)comparisonsonly on a single field”。在您的情况下,您在两个不同的字段上有一个〉=和一个!=子句。
没有任何解决方案,因为这是Firestore的限制(并且调整索引不会改变情况)。
您可以尝试调整数据模型以规避限制,但我认为在您的情况下,不可能有任何简单的数据模型调整。
可能的(但不理想的)方法的非详尽列表:
array-contains-any
运算符合并字段上的最多10个数组包含子句与逻辑OR
组合。或限制为7个值(0,1,2,3,4,5,大于5)