【问题标题】:Firestore orderBy number field doesn't return any document [duplicate]Firestore orderBy number 字段不返回任何文档 [重复]
【发布时间】:2019-08-17 19:05:25
【问题描述】:

我正在使用 FirestorePagingAdapter 在 RecyclerView 中显示文档数据。这是我的查询:

val myFollowersQuery: Query
        get() = userRelationsColRef.whereEqualTo("uid2", firebaseAuthUid)

三个文档的 uid2 字段设置为某个值 firebaseAuthUid,此查询获取这三个文档并使用 FirestorePagingAdapter 在 RecyclerView 中显示它们。

这些文档中的每一个都有一个“点”字段,我想按该字段对文档进行排序。这是我的查询。

val myFollowersQuery: Query
        get() = userRelationsColRef.whereEqualTo("uid2", firebaseAuthUid)
                .orderBy("points", Query.Direction.ASCENDING)

此查询不返回任何文档,这三个具有 uid2 = firebaseAuthUid 的文档的字段点等于 0,10 和 100000000。 我看不出这个查询不能按点字段排序的任何原因,字段名称没有拼写错误,字段类型没有错误,什么都没有。 我首先认为 FirestorePagingAdapter 可能存在问题并使用 .orderBy 进行查询,但我的应用程序中还有另一个片段,我使用 FirestorePagingAdapter 获取一些文档并按时间戳字段对它们进行排序,它可以正常工作。

数据库结构:

【问题讨论】:

  • 请将您的数据库结构添加为截图。
  • @AlexMamo 添加数据库结构截图

标签: android firebase google-cloud-firestore


【解决方案1】:

您可能需要为该查询创建索引。 如果您检查错误,您将看到一个将为您创建索引的链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多