Firebase查询:如何按孩子的孩子的值排序?

时间:2019-11-24 15:09:48

标签: java android firebase-realtime-database

我正在用Java构建一个简单的群聊应用程序,我已经在Firebase实时数据库中创建了以下结构:

"GROUPS":{
  "-LuSuWF4JjYNyjJ2Y5c4" : {
    "GROUP_MEMBERS" : {
      "qyM8p4IgJ7cFOBDNWeFjlaMjNsk2" : {
        "dateAdded" : "23/11/2019",
        "permissions" : 0,
        "user" : "email@email.com"
      }
    },
    "dateCreated" : "23/11/2019",
    "description" : "A dummy test group",
    "name" : "Group 2"
  }

我需要获取给定用户UID的所有网上论坛,我正在尝试从Java运行以下查询,但该查询无法正常工作。

    public static Query getGroupsByUser(String uid){
       return FirebaseDatabase.getInstance().getReference(GROUPS).orderByChild(GROUP_MEMBERS).orderByKey().equalTo(uid);
    }

该如何查询?还是有更好的方法来构建数据库架构?

请帮助!

1 个答案:

答案 0 :(得分:0)

您一次只能使用一种订购方式。在同一查询中多次调用order-by方法会引发错误。请使用orderByChild()或orderByKey()读取文档

https://firebase.google.com/docs/database/android/lists-of-data?authuser=0#sort_data