如何在另一个孩子Firebase内的孩子订购

时间:2018-03-23 08:33:07

标签: java android firebase firebase-realtime-database

我试图通过另一个孩子里面的子值来获取所有数据asc和desc的数据。在主要的课堂范围内:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference dbRef = database.getReference("university");

我有这样的数据结构

{
"university": {
    "13": {
      "name": "value"
      "exam": {
        "exam_date": "value"
        "reg_date": "value"
      }
    }
    "15": {
      "name": "value"
      "exam": {
        "exam_date": "value"
        "reg_date": "value"
      }
    }
    "20": {
      "name": "value"
      "exam": {
        "exam_date": "value"
        "reg_date": "value"
      }
    }
}

}

首先我尝试这种方式Query q=dbRef.orderByChild("13/exam/exam_date") 但它正在获取数据,就像我直接使用ValueEventListener和dbRef而没有订购。

2 个答案:

答案 0 :(得分:3)

要解决此问题,请更改以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("university").orderByChild("exam/exam_date");

{{1}}

答案 1 :(得分:0)

 firebaseDatabaseRef.child(AppConstants.RootNode.userRoomGroupIds).child(myUserId).orderByChild(AppConstants.FireBaseRoom.LAST_MESSAGE+"/"+AppConstants.LASTMESSAGE.MESSAGE_TIME_STAMP).startAt(System.currentTimeMillis());

此查询从我当前的毫秒起提供数据,因此我使用orderByChild来引用特定孩子的/ lastmessage / timeStamp