2017-09-27 146 views
-2

我使用以下代码添加一个孩子并在FireBase中为其设置一个值。从firebase删除孩子

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

如何删除“mockChild”?

回答

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

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

Added child

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

Removed image

让我们的用户数据库的例子:

ref.child("Users").child("User1").setvalue("person 1"); 
ref.child("Users").child("User2").setvalue("person 2"); 
ref.child("Users").child("User3").setvalue("person 3"); 

现在,如果你想从数据库中删除特定的用户,你必须使用此代码:

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

由于火力点是一个关键值数据库,它将从用户2删除该值,也因为密钥钥匙不能在它自己的。这将从数据库中删除对User2的整个引用。

+0

在这种情况下,它不只是删除值“”,我想删除整个孩子。 –

+0

它应该删除该值,并且当该值被删除时,该键将被删除:) –

+0

您确定当删除值时,该键将被删除吗?因为内部该方法所做的是它将为该值设置一个空对象。 –

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); 

它也接受了,意思是当你给火力地堡空值的属性/路径,则表明您希望将属性或路径删除。

如果你想删除整个儿,然后只需使用:

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

注意,它会删除mockChild包含的一切。

+0

我不想改变孩子的价值,我想要自己去除孩子。 –

+1

我不改变这个值。我刚刚向您展示了如何使用'setValue()'方法设置一个值,然后如何使用'removeValue()'方法删除相同的值。它工作吗?您只需直接在引用中使用'removeValue()'。 –

+0

请参阅我的更新回答。 –