我正在从 Firestore 检索数据,并且想添加检索它的顺序,因此我尝试了以下代码:
Query query = firebaseFirestore.collection("docs").orderBy("date", Query.Direction.DESCENDING/*ASCENDING*/);
FirestoreRecyclerOptions<download> docsFirestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<download>()
.setQuery(query, download.class)
.build();
在日期中,我在字符串类型中添加时间和日期,例如
02:42:31 - 2020/08/01
这样,我想确保最新的帖子出现在回收器 View 的顶部。 这一天效果很好,但第二天如果时间允许的话
01:00:00 - 2020/08/02
它将出现在前一天添加的帖子之前。有没有更好的方法从 Firestore 订购数据?
最佳答案
Is there a better way to ordering data from Firestore?
当然是这样。您可以将时间和日期存储为 Java Date,而不是将其存储为字符串。 ,日期是 Firestore supported data type或作为 Firestore Timestamp目的。这是可以帮助您实现这一目标的答案:
现在,将 date
属性的类型设置为 Firestore Timestamp,您的查询将完美运行。
但是,如果您坚持将日期和时间存储为字符串,则可以选择将它们存储为可以同时按字典顺序和时间顺序排序的格式。
ISO 8601 格式如下所示:
20200802T131425
这是我当前回答这个问题的时间。
August 02, 2020 1:14:25 PM UTC
关于java - Firestore 查询数据顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63213688/