从firebase删除孩子

时间:2017-09-27 12:40:09

标签: android firebase

我使用以下代码添加子项并在FireBase中为其设置值。

 String ref = Constants.Client+"/"+Constants.firebaseProjects+"/"+Constants.ProjectName+"/xyz";
 final DatabaseReference ref = FirebaseDatabase.getInstance().getReference(FirebaseRefer);
 ref.child("mockChild").push().setValue("")

我该怎么做才能删除" mockChild" ?

2 个答案:

答案 0 :(得分:4)

ref.child("mockChild").removeValue();

添加子代码的代码 - ref.child("mockChild").push().setValue("Hello");

Added child

删除子代码的代码 - ref.child("mockChild").removeValue();

Removed image

让我们以用户db:

为例
ref.child("Users").child("User1").setvalue("User 1");
ref.child("Users").child("User2").setvalue("User 2");
ref.child("Users").child("User3").setvalue("User 3");

现在,如果要从数据库中删除特定用户,则必须使用以下代码:

ref.child("Users").child("User2").removeValue();

由于firebase是一个键值数据库,它将从User2和键中删除该值,因为键不能独立于键。这将从数据库中删除对User2的完整引用。

答案 1 :(得分:2)

要解决此问题,请使用以下代码:

String key = ref.child("mockChild").push().getKey();
ref.child("mockChild").child(key).setValue("yourValue");
ref.child("mockChild").child(key).removeValue(); // This is how you remove it

或者您可以使用:

ref.child("mockChild").child(key).setValue(null);

它也被接受,意味着当您为Firebase提供属性/路径的空值时,表示您要删除属性或路径。

如果您想删除整个孩子,请使用:

ref.child("mockChild").removeValue();

注意,它会删除mockChild包含的所有内容。