【问题标题】:Can I query a Cloud Firestore collection with a where equals clause and an orderby?我可以使用 where equals 子句和 orderby 查询 Cloud Firestore 集合吗?
【发布时间】:2018-03-31 00:16:09
【问题描述】:

documentation 声明:

但是,如果您有一个具有范围比较(、>=)的过滤器,则您的第一个排序必须在同一字段上:

这意味着我可以将非范围比较“==”与 orderBy 子句一起使用。但这失败了:

myCollectionRef.where('age', '==', 2).orderBy('name');

【问题讨论】:

    标签: database firebase indexing google-cloud-firestore


    【解决方案1】:

    如果您想使用一个或多个相等过滤器对查询进行排序,其中排序是按不同的字段,您需要创建一个复合索引。

    您可以在我们的 "Managing Indexes" 文档部分了解更多信息。

    【讨论】:

    • 谢谢。这个功能是未来发展的候选吗?有相等过滤器的能力,加上在不同字段上的排序,没有复合索引?还是不太可能……?我注意到可以使用多个相等过滤器而不需要自定义索引。
    • 很遗憾没有。我们可以对相等过滤器使用不同的技术
    • 对于这些类型的查询,我们可以采用哪些不同的技术?你能帮我解决这个问题吗? stackoverflow.com/questions/46874499/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多