This is my firebase database setup
我无法删除 UID 下的 1 个 child
例如只删除 -LSRCRSq__vDRPlaH91F(这是随机生成的,所以我不确定如何引用它) One child under UID
使用这段代码,我可以使用 uidRef.removeValue(); 删除整个 UID 数据库;
有人能解释一下如何引用和删除它下面的单个 child 吗。
非常感谢
最佳答案
您可以做的是使用 dataSnapshot.getKey()
获取该随机 ID。这将进入你的 for 循环。我建议将这些键添加到 ArrayList
。
更具体地说:
ArrayList<String> id = new ArrayList<>();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
id.add(ds.getKey().toString());
String title = ds.child("title").getValue(String.class);
String content = ds.child("content").getValue(String.class);
String timestamp = ds.child("timestamp").getValue(String.class);
list.add(title + "\n" + content + "\n" + timestamp);
Log.d("TAG", title);
}
然后,由于您要删除第一个子项,因此可以创建一个新的 DatabaseReference
,其路径包含 ArrayList
中的第一个元素并说 databaseReference.removeValue()
删除该路径中的值。
DatabaseReference firstChild = FirebaseDatabase.getInstance().getReference("ProgressReports/" + id.get(0);
firstChild.removeValue();
这应该删除那个 child 的值。基本上,一旦获得 ID 列表,就可以将其中一个 ID 附加到 getReference()
中路径的末尾。然后你可以删除那个 child 。我希望这会有所帮助。
关于java - 删除用户id下的单个 child ,随机生成的 child 名,android studio,firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528631/