如果仅键 return 为真,如何使用连接从 Firebase 数据库检索数据?
How to retrieve data from Firebase Database with join if key only return true?
请问如何找回只有user2加入的群组Android?
"users": {
"user1": {
"name": "User 1"
},
"user2": {
"name": "User 2"
}
}
"groups": {
"groupA": {
"name": "A Group"
},
"groupB": {
"name": "B Group"
}
}
"userGroup": {
"user1": {
"groupA": true,
"groupB": true
},
"user2": {
"groupB": true
}
}
我已经试过了
DatabaseReference userGroupRef = rootRef.child("userGroup/user2")
但无法显示群组名称
但是如果我使用
DatabaseReference groupsRef = rootRef.child("groups")
user2
未加入的群组也在显示。
firebase 是否有类似 groupsID in userGroup/user2
的查询?
Edit_1
我使用 FirebaseRecyclerAdapter
来显示来自 rootRef.child("groups")
的列表,即使用户 2 没有加入,它也会显示所有组。
groupsRef = rootRef.child("groups");
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Group, GroupHolder>(Group.class, R.layout.group_item_layout, GroupHolder.class, groupsRef) {
@Override
protected void populateViewHolder(GroupHolder viewHolder, Group group, int position) {
viewHolder.setGroupName(group.getName());
}
};
groupRecyclerView.setAdapter(adapter);
此用例由 FirebaseIndexRecyclerAdapter
专门解决。您传入两个 references/queries:一个用于所谓的索引(具有您要显示的 true
值的键),另一个用于您要为每个匹配键加载的实际对象。
你的情况:
groupsRef = rootRef.child("groups");
indexRef = rootRef.child("userGroup/user2");
FirebaseIndexRecyclerAdapter adapter = new FirebaseIndexRecyclerAdapter <Group, GroupHolder>
(Group.class, R.layout.group_item_layout, GroupHolder.class, indexRef, groupsRef) {
@Override
protected void populateViewHolder(GroupHolder viewHolder, Group group, int position) {
viewHolder.setGroupName(group.getName());
}
};
请问如何找回只有user2加入的群组Android?
"users": {
"user1": {
"name": "User 1"
},
"user2": {
"name": "User 2"
}
}
"groups": {
"groupA": {
"name": "A Group"
},
"groupB": {
"name": "B Group"
}
}
"userGroup": {
"user1": {
"groupA": true,
"groupB": true
},
"user2": {
"groupB": true
}
}
我已经试过了
DatabaseReference userGroupRef = rootRef.child("userGroup/user2")
但无法显示群组名称
但是如果我使用
DatabaseReference groupsRef = rootRef.child("groups")
user2
未加入的群组也在显示。
firebase 是否有类似 groupsID in userGroup/user2
的查询?
Edit_1
我使用 FirebaseRecyclerAdapter
来显示来自 rootRef.child("groups")
的列表,即使用户 2 没有加入,它也会显示所有组。
groupsRef = rootRef.child("groups");
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Group, GroupHolder>(Group.class, R.layout.group_item_layout, GroupHolder.class, groupsRef) {
@Override
protected void populateViewHolder(GroupHolder viewHolder, Group group, int position) {
viewHolder.setGroupName(group.getName());
}
};
groupRecyclerView.setAdapter(adapter);
此用例由 FirebaseIndexRecyclerAdapter
专门解决。您传入两个 references/queries:一个用于所谓的索引(具有您要显示的 true
值的键),另一个用于您要为每个匹配键加载的实际对象。
你的情况:
groupsRef = rootRef.child("groups");
indexRef = rootRef.child("userGroup/user2");
FirebaseIndexRecyclerAdapter adapter = new FirebaseIndexRecyclerAdapter <Group, GroupHolder>
(Group.class, R.layout.group_item_layout, GroupHolder.class, indexRef, groupsRef) {
@Override
protected void populateViewHolder(GroupHolder viewHolder, Group group, int position) {
viewHolder.setGroupName(group.getName());
}
};