如何按降序从Firebase数据库中检索数据?

时间:2016-07-11 09:46:29

标签: java android firebase firebase-realtime-database

我想知道新的firebase数据库是否已添加此功能,因为我在项目中需要它..

结构看起来像这样..

enter image description here

和你设置RecyclerView反向不适合我,因为这导致它从底部开始。

解决方案

所以,这是我能想到的最佳解决方案......现在。

正如@Frank所说,这可能是重复的,但我最初是在他的帮助下解决的。

所以我们可以做的是使 timeStamp为负,即-20164846476589

然后用一些更高的值减去它,比如999999999999999L (现在我们不会超过offcourse)然后我们得到的将是新时间戳的最低降序值

并且数据将自动在Firebase中降序

 String NewDescTimeStamp= String.valueOf((9999999999999L+(-1 * PreviousTimestamp)));

 mFirebaseRef.child(NewDescTimeStamp).setValue(true);

1 个答案:

答案 0 :(得分:14)

您无法使用现有API执行此操作。

您可以使用以下一种或多种方法检索已知数量的子项: limitToFirst()limitToLast()startAt()endAt()

您也可以使用其中一种排序方法: orderByChild()orderByValue()orderByKey()

比, 将它们存储在数据结构中(例如ArrayList),然后使用java.util.Collections.reverse()来反转列表。

使用firebase,你应该做一些查询逻辑客户端。并非所有SQL中可用的操作都可在Firebase上使用。