我正在用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);
}
该如何查询?还是有更好的方法来构建数据库架构?
请帮助!
答案 0 :(得分:0)
您一次只能使用一种订购方式。在同一查询中多次调用order-by方法会引发错误。请使用orderByChild()或orderByKey()读取文档
https://firebase.google.com/docs/database/android/lists-of-data?authuser=0#sort_data