【发布时间】:2017-11-27 20:17:35
【问题描述】:
实际上,我正在尝试删除应该在数据库中存在的所有用户中删除的组成员。我尝试使用带有datasapshot.getref().removeValue() 的DatabaseReference 删除值。但主要问题是此删除也应反映在其他用户帐户中。我正在尝试在其他帐户中删除,但它不起作用
Query query = fbData.limitToFirst(1);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
dataSnapshot.getRef().removeValue();
for(DataSnapshot child : dataSnapshot.getChildren()){
//String email = (String) child.child("EmailId").getValue();
String key = child.getKey();
Log.e("the value",child.getValue().toString());
//DatabaseReference dbref =fbData.child(key).child("Groups").child(value).removeValue();
child.child(key).getRef().removeValue();
}
}
我的数据库值看起来像
在上图中,每个用户都由组和成员列表组成。例如,如果名为 sankar@gmail.com 的用户想要退出组,则应将整个组从他的帐户中删除,而他在另一个用户组中的名称应也被删除,类似于 WhatsApp 组概念。在此先感谢
更新
public void onDataChange(DataSnapshot dataSnapshot) {
String email = (String) dataSnapshot.child(keyUser).child("EmailId").getValue();
Log.e("user mailid to delete",email);
for(DataSnapshot child : dataSnapshot.getChildren()){
String key = child.getKey();
firebaseDB.child(key).child("Groups").child(value).child(email).removeValue();
【问题讨论】:
标签: android firebase firebase-realtime-database