Java 如何在另一个子Firebase中按子级进行排序

Java 如何在另一个子Firebase中按子级进行排序,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图通过另一个子系统中的子系统值获取所有按asc和desc排序的数据。在课程的主要范围内: FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference dbRef = database.getReference("university"); 我有这样的数据结构 { "university": { "13": { "name": "value" "exam": {

我试图通过另一个子系统中的子系统值获取所有按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"
      }
    }
}
}

首先,我尝试这样做
queryq=dbRef.orderByChild(“13/exam/exam\u date”)

但是它得到的数据就像我在没有排序的情况下直接将ValueEventListener与dbRef一起使用一样。

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

Query q=dbRef.orderByChild("13/exam/exam_date")


这个查询提供了我当前milisec旁边的数据,所以我使用orderByChild,其中引用了特定的child/lastmessage/timeStamp

谢谢,工作正常,我只是将查询q=dbRef.orderByChild(“13/exam/exam_date”)更改为查询q=dbRef.orderByChild(“exam/exam_date”);
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("university").orderByChild("exam/exam_date");
 firebaseDatabaseRef.child(AppConstants.RootNode.userRoomGroupIds).child(myUserId).orderByChild(AppConstants.FireBaseRoom.LAST_MESSAGE+"/"+AppConstants.LASTMESSAGE.MESSAGE_TIME_STAMP).startAt(System.currentTimeMillis());