Firebase Data Desc Sorting in Android(Android中的Firebase数据描述排序)
问题描述
我将数据存储在 Firebase 存储中.
I am storing data in Firebase storage.
对象 Comment
带有属性 timestamp
.当我将数据从设备推送到 Firebase 时,我使用 currentTime 填充 timestamp
并存储在 long
数据类型中.
Object Comment
with attribute timestamp
. When I push data from device to Firebase I'm populating timestamp
with currentTime and store in long
data type.
当我使用 firebaseRef.orderByChild("timestamp").limitToLast(15)
检索数据时,结果未按预期排序.
When I do retrieving the data with firebaseRef.orderByChild("timestamp").limitToLast(15)
result is not sorting how I expected.
我什至玩弄规则却没有结果:
I even played around with rules and no result:
{
"rules": {
".read": true,
".write": true,
".indexOn": "streetrate",
"streetrate": {
".indexOn": ".value"
}
}
}
我尝试将 timestamp
存储在 String
数据类型中,同样的问题.
I tried store timestamp
in String
data type, same issue.
推荐答案
Firebase 可以按给定属性对项目进行升序排序,然后返回前 N 个项目 (limitToFirst()
) 或最后 N 项 (limitToLast()
).无法表明您希望项目按降序排列.
Firebase can order the items in ascending order by a given property and then returns either the first N items (limitToFirst()
) or the last N items (limitToLast()
). There is no way to indicate that you want the items in descending order.
有两个选项可以得到你想要的行为:
There are two options to get the behavior you want:
使用 Firebase 查询获取正确的数据,然后在客户端重新排序
Use a Firebase query to get the correct data, then re-order it client-side
向数据中添加一个具有降序值的字段
Add a field that has a descending value to the data
对于后一种方法,通常使用倒置时间戳.
For the latter approach, it is common to have a inverted timestamp.
-1 * new Date().getTime();
这篇关于Android中的Firebase数据描述排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android中的Firebase数据描述排序
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01