如何使用密钥从Firebase实时数据库中删除?

时间:2020-04-27 08:20:30

标签: java android firebase firebase-realtime-database

我目前正在研究一个项目,我需要能够从已经创建的数据库中删除。我使用.push()对数据库创建了它,因此创建了唯一键,因此需要进行删除操作。

我尝试在此处How to delete from firebase realtime database?使用Frank Van Puffelen的答案,但是遇到一个错误,如果两个节点具有相同的标题,它们将被删除。enter image description here

该图显示了我的Firebase数据库的外观:

对答案的一点帮助或指导将大有帮助。谢谢

1 个答案:

答案 0 :(得分:1)

如果要从数据库中删除单个元素,则需要知道该元素的路径,其中还包括该推键。您的参考应如下所示:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference keyRef = rootRef.child("-KlSNx87aYigsH3lLp0D");
keyRef.removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d("TAG", "Element removed successfully!");
        }
    }
});

否则,您可以使用看起来像这样的查询:

Query idQuery = rootRef.orderByChild("id").equalTo(1);

在这种情况下,弗兰克·范·普菲伦(Frank Van Puffelen)的回答来自以下帖子:

可以正常工作。