Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase查询:如何按子项排序';儿童价值观?_Java_Android_Firebase Realtime Database - Fatal编程技术网

Java Firebase查询:如何按子项排序';儿童价值观?

Java Firebase查询:如何按子项排序';儿童价值观?,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我正在用Java构建一个简单的群组聊天应用程序,我在Firebase实时数据库中创建了以下结构: "GROUPS":{ "-LuSuWF4JjYNyjJ2Y5c4" : { "GROUP_MEMBERS" : { "qyM8p4IgJ7cFOBDNWeFjlaMjNsk2" : { "dateAdded" : "23/11/2019", "permissions" : 0, "user" : "email@email.com

我正在用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);
    }
我应该如何进行此查询?还是有更好的方法来构造我的数据库模式


请帮忙

一次只能使用一个order by方法。在同一查询中多次调用order by方法会引发错误。请使用orderByChild()或orderByKey()阅读文档


您当前的结构使您可以轻松找到给定组的成员。然而,这并不能使查找给定用户的组变得容易。为此,您需要向数据结构中添加一个反向索引,这与您现在拥有的内容几乎是相反的:一个为每个用户保留组的列表。有关详细解释,请参见我的回答: