"Subscription" : {
"1519197182611" : {
"address" : "Mumbai",
"dateTime" : "Feb 21, 2018 12:42:57 PM",
"name" : "ABC",
"phone" : "1264897809",
"uIdpId" : "123456"
},
"1519197186551" : {
"address" : "Mumbai",
"dateTime" : "Feb 21, 2018 12:42:57 PM",
"name" : "DCF",
"phone" : "1264897809",
"uIdpId" : "7897"
},
"1519197360198" : {
"address" : "Mumbai",
"dateTime" : "Feb 21, 2018 12:45:54 PM",
"name" : "XYZ",
"phone" : "1264897809",
"uIdpId" : "45656"
}
}
我想删除名称为ABC
的节点。
那么我该如何进一步进行。我被困在这里了。
最佳答案
试试这个:
DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("Subscription");
data.orderByChild("name").equalTo(ABC).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
data.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
快照在子Subscription
,然后你使用orderByChild("name").equalTo(valuehere)
,这是name应该等于ABC的条件示例。
然后使用 for 循环在随机 pushid 中迭代,getRef()
将为您提供此源位置的引用,而 removeValue()
将删除该节点。
关于java - 如何通过引用它的子节点从 firebase 中删除一个节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48900342/