Firestore orderBy number字段不返回任何文档

时间:2019-08-17 19:05:25

标签: android firebase google-cloud-firestore

我正在使用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来获取一些文档并按timestamp字段对其进行排序,并且它应该可以正常工作。

数据库结构: enter image description here

1 个答案:

答案 0 :(得分:1)

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

相关问题