我可以使用 where equals 子句和 orderby 查询 Cloud Firestore 集合吗?
Posted
技术标签:
【中文标题】我可以使用 where equals 子句和 orderby 查询 Cloud Firestore 集合吗?【英文标题】:Can I query a Cloud Firestore collection with a where equals clause and an orderby? 【发布时间】:2018-03-31 00:16:09 【问题描述】:documentation 声明:
但是,如果您有一个具有范围比较(、>=)的过滤器,则您的第一个排序必须在同一字段上:
这意味着我可以将非范围比较“==”与 orderBy 子句一起使用。但这失败了:
myCollectionRef.where('age', '==', 2).orderBy('name');
【问题讨论】:
【参考方案1】:如果您想使用一个或多个相等过滤器对查询进行排序,其中排序是按不同的字段,您需要创建一个复合索引。
您可以在我们的 "Managing Indexes" 文档部分了解更多信息。
【讨论】:
谢谢。这个功能是未来发展的候选吗?有相等过滤器的能力,加上在不同字段上的排序,没有复合索引?还是不太可能……?我注意到可以使用多个相等过滤器而不需要自定义索引。 很遗憾没有。我们可以对相等过滤器使用不同的技术 对于这些类型的查询,我们可以采用哪些不同的技术?你能帮我解决这个问题吗? ***.com/questions/46874499/…以上是关于我可以使用 where equals 子句和 orderby 查询 Cloud Firestore 集合吗?的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter:如何使用 WHERE 子句和 OR 子句
Laravel 雄辩的 SQL 查询与 OR 和 AND 与 where 子句
SQL -------- WHERE子句与AND,OR和NOT运算符结合使用。
如何将 ObjectQuery 与由 OR 子句分隔的 Where 过滤器一起使用