无法从Firebase中删除值

时间:2016-09-26 16:26:00

标签: android firebase firebase-realtime-database

我试图删除存储在Firebase上特定引用中的某些值。以下是我存储它的方式:

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(MainActivity.uid);

以下是我试图删除它的方法:

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).child(MainActivity.uid).removeValue();
已使用以下代码在itemIDFU中生成

onCreate()

itemIDFU = mDatabase.child("users").child(uid).push().getKey();

问题是它已成功存储,但未被删除。这里出了什么问题?请告诉我。

2 个答案:

答案 0 :(得分:3)

看起来当您设置值时,您将键itemIDFU设置为等于MainActivity.uid中的任何值

但是,当您删除数据时,您正试图获取itemIDFU 孩子 ,这不存在。

您没有将MainActivity.uid添加为itemIDFU 孩子 ,而是将其添加为 值< / EM>

您有两种可能的解决方案:

如果要删除该值,请尝试此操作,但将itemIDFU键留空:

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(null);

如果要完全删除键和值,请尝试此操作:

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).removeValue();

以下是帮助说明数据和问题的图片:

enter image description here

还有一张图片需要解释

enter image description here

答案 1 :(得分:1)

您可以通过以下两种方式删除值:

//删除值的第一种方法

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(null);

//或尝试此

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).removeValue();

我觉得这个值没有被删除,因为你在孩子的价值而不是孩子本身的价值上添加了.removeValue()。