java - 删除firebase数据库中的用户数据不起作用
问题描述
我创建了一个删除配置文件按钮,但数据库中没有任何内容要删除!这是我使用的代码
private void deleteRecord() {
DatabaseReference DbRef = FirebaseDatabase.getInstance().getReference("MyUsers").child("id");
Task<Void> mTask = DbRef.getDatabase().getReference("MyUsers").child("id").removeValue();
mTask.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
showToastMyUsersDelete("Profile permanently deleted!!");
Intent i = new Intent(EditProfileActivity.this, Login_Activity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
finish();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
showToastMyUsersDelete("Error Deleting Profile");
}
});
}
它会按照我说的做,但不会删除值如果我使用此代码例如
Task<Void> mTask = DbRef.getDatabase().getReference().removeValue();
然后整个数据库将被删除,但真的一切!
这就是我的哈希图看起来不是完整的 在此处输入图像描述的方式
解决方案
这是因为在第二个代码中,您实际上是在存储整个数据库的引用,因为您没有指定任何特定路径。所以 removeValue() 将删除整个数据库。
推荐阅读
- stress-testing - 使用打乱图像的 K6 压力测试
- pagespeed - 如何衡量网站上的页面到页面速度?
- infinispan - 使用 infinispan 5.3 的 2 节点集群中的问题 | ActionStatus.ABORT_ONLY > 未处于有效状态,无法调用缓存操作
- laravel - 预期的响应代码 354 但在 laravel 7 中得到一个空响应“500”
- database-administration - 在greenplum中管理溢出文件
- python - 通过 Anaconda 安装“imputeTS”以在 Python 中使用
- php - 如何更改 mysql 中的事件并更改正在运行的内容
- reactjs - 如何使用 redux 呈现 API 响应并做出反应
- sql - 对用户响应强制超时 SQL Oracle
- mdriven - 如何在 MDriven Turnkey 中设置全局字体