Firebase removeValue删除父级而不是单个值

时间:2017-05-01 11:55:42

标签: android firebase firebase-realtime-database

我试图在我的firebase树上删除一个简单的值,如下所示:

example

要做到这一点,我需要获取当前的userId,被点击的组的名称和被点击的用户。我得到了所有这些信息,然后我这样做删除:

id = auth.getCurrentUser().getUid();
group = getIntent().getStringExtra("group");
database = FirebaseDatabase.getInstance();
myRef = database.getReference().child("Users");
     builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            myRef.child(id).child("FriendLists").child(group).child(user.getId()).removeValue();
                            usersList.remove(user);
                            mAdapter.notifyDataSetChanged();
                        }
                    });

问题是,removeValue删除了从FriendLists开始的所有节点,所有信息甚至是FriendLists dissapaear:S,任何信息,任何帮助?

1 个答案:

答案 0 :(得分:2)

Firebase会在您在该路径中存储值时自动创建路径。如果该路径下不再有任何值,它还会删除路径。因此,当您从组中删除最后一位朋友时,该组也将消失。然后它是最后一组,然后FriendsList父母也消失了。

另见: