Android中的Firebase数据Desc排序

Android中的Firebase数据Desc排序

我将数据存储在Firebase存储中。

对象Comment带属性timestamp..当我将数据从设备推送到Firebase时,我正在填充timestamp具有当前时间并存储在long数据类型。

当我使用firebaseRef.orderByChild("timestamp").limitToLast(15)结果不是我所期望的那样。

我甚至玩游戏规则,但没有结果:

{
    "rules": {
        ".read": true,
        ".write": true,
        ".indexOn": "streetrate",
        "streetrate": {
          ".indexOn": ".value"
        }
    }}

我试过商店timestamp在……里面String数据类型相同。


神不在的星期二
浏览 583回答 3
3回答

POPMUISE

Firebase可以按给定属性按升序顺序排列项目,然后返回第一个N项(limitToFirst())或最后N项(limitToLast())。没有办法表明您希望这些项目按降序排列。有两个选项可以获得您想要的行为:使用Firebase查询获取正确的数据,然后重新订购it客户端。向数据中添加一个具有降序值的字段。对于后一种方法,通常有一个倒置的时间戳。-1 * new Date().getTime();

至尊宝的传说

我看不出有什么办法可以逆转数据。但布鲁特的一种方法是获取数据。List<ModelClass>&nbsp;mList=new&nbsp;ArrayList();public&nbsp;void&nbsp;onDataChange(DataSnapshot&nbsp;dataSnapshot)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mList.clear(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(DataSnapshot&nbsp;children:&nbsp;dataSnapshot.getChildren()){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelClass&nbsp;modelClass=children.getValue(ModelClass.class); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mList.add(modelClass); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collections.reverse(mList); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adapter.notifyDataSetChanged();}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android