如何在android中从firebase中删除单个孩子?
我浏览了各种链接和解决方案,并尝试在我的项目中使用,但没有任何效果 它适用于未生成密钥的情况,这不是我的情况 以下代码用于删除我尝试过的单个孩子。 感谢您的帮助如何在android中从firebase中删除单个孩子?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我浏览了各种链接和解决方案,并尝试在我的项目中使用,但没有任何效果 它适用于未生成密钥的情况,这不是我的情况 以下代码用于删除我尝试过的单个孩子。 感谢您的帮助 delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { FirebaseDatabase ref = FirebaseData
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FirebaseDatabase ref = FirebaseDatabase.getInstance();
DatabaseReference myRef = ref.getReference("Students");
String key = myRef.push().getKey();
myRef.child(key).removeValue();
}
});
当您使用push()
时,您将生成一个新的随机id,然后在该键上使用removeValue()
时,将导致删除该键
如果要删除数据库中的现有密钥,则需要从数据库中检索该密钥,以便能够将其与
removeValue()
一起使用。您不会删除任何内容,因为您只生成了一个新密钥。如果要删除现有密钥,请使用以下代码行:
ref.getReference("Students").child("-LaFeagvdt-mLlc2eWeV").removeValue();
结果将删除第二条记录。您需要在某个变量中保留要删除的子记录的密钥。让我们假设它位于一个变量keytobedelete中
String keyToBeDeleted = "-LaFeagvdt-mLlc2eWeV";
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FirebaseDatabase ref = FirebaseDatabase.getInstance();
DatabaseReference myRef = ref.getReference("Students/" + keyToBeDeleted);
myRef.removeValue();
}
});
你的代码没有删除按键吗?我有点困惑
push()
将创建一个新密钥,而removeValue
将删除它。您必须将要删除的密钥传递到某个位置。@PeterHaddad yesSir@VinayAvasthi先生,我如何修改这个代码?@VinayAvasthi我试过这样删除,但没有删除,帮帮我。先生,密钥是以随机方式生成的,所以存储每个随机生成的密钥可能很困难,并以变量形式存储它们,用于删除选项。还有其他方法吗?您需要跟踪要删除的键。当您列出要删除的项目时,此时您将有权访问这些键,然后根据您单击的按钮,您需要使用该键来删除它。请您向我推荐程序,以实现此逻辑?先生,键是以随机方式生成的,因此,为删除选项存储随机生成的每个密钥并以变量形式存储它们可能是一项困难的工作。还有其他方法吗?签出。这会更新随机生成的id,但我不知道如何使用它进行删除帮助我!。(我尝试过删除此代码,但不起作用)。DatabaseReference rootRef=FirebaseDatabase.getInstance().getReference();字符串studentId=rootRef.child(“学生”).push().getKey();Map Map=newhashmap();地图放置(“studentId”,studentId);rootRef.child(“学生”).child(studentId).removeValue();我再次尝试这样删除,但没有删除,请帮助我。
String keyToBeDeleted = "-LaFeagvdt-mLlc2eWeV";
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FirebaseDatabase ref = FirebaseDatabase.getInstance();
DatabaseReference myRef = ref.getReference("Students/" + keyToBeDeleted);
myRef.removeValue();
}
});