如何从 Firebase 数据库中删除所有数据?
How to remove all data from a Firebase database?
我开始使用使用 Firebase 实时数据库的代码。我将它实施到我的解决方案中。连接和控制非常完美,所以我把它用于生产环境。
一段时间后,我进行了升级,我需要再次删除所有数据 - 但是等等,console 中的最高根级别不再有删除按钮,并且一次只允许在一个选定的项目中使用:
https://console.firebase.google.com/project/{{project_name}}/database/data
在上次更新中只显示了这条消息,没有接下来的步骤:
Read-only & non-realtime mode activated to improve browser performance
Select a key with fewer records to edit or view in realtime
问如何一次删除所有数据?
为什么缺少 Firebase 删除按钮?
Alvin 来自 Firebase Support :
Record or node has too much data, which makes the data viewer switch to a read-only/non real time mode to increase the browser's performance.
从命令行删除 Firebase 中的所有数据
Firebase 文档显示 Removing Data - 只是它们没有显示如何删除所有数据。
要删除所有数据,您可以在该节点级别使用 REST command - which remove whole JSON 输出
curl -X DELETE "https://{{project_id}}.firebaseio.com/.json"
因此您可以通过添加 JSON 扩展名
在每个生成的“控制台中的 URL 节点”上执行此操作
https://{{project_id}}.firebaseio.com/{{path}}/{{path}}/{{path}}/.json
您可以手动创建一个包含单个空条目的 JSON 文件并导入它,这将删除所有现有条目。
您可以通过编程方式实现一种方法,将一组空数据放在数据库的主根上 - 具体来说,您可以插入一个空值。
在我的 Android 项目中它看起来像这样:
void removeDataFromDatabase(){
DatabaseReference root = FirebaseDatabase.getInstance().getReference();
root.setValue(null);
}
从 firebase 数据库中删除所有数据的一种简单方法是使用 Firebase CLI.
设置 CLI 后,您只需使用此命令即可删除您的数据:
firebase database:remove /
解决方案一:控制台
在您的项目中,单击数据库顶层的 x
按钮。
然后点击delete
解决方案 2:程序化
无论您使用何种语言,都可以这样调用:
database.set('/', null)
解决方案 3:Firebase CLI
从您的项目文件夹(您已经安装了 firebase-tools)在终端中写入以下内容然后点击 Enter
:
database:remove /
N.B:
Kindly consider to backup your data first.
我用过
curl -X DELETE "https://<prject name>.firebaseio.com/.json?auth=<Firebase Database secret>"
这也会删除数据库,其中包含被 firebase UI 阻止的数据。希望这可以帮助。谢谢
仅供参考:
Your get Web API key is in https://console.firebase.google.com/project/<database name>/settings/serviceaccounts/databasesecrets
否则你可以去
项目概览设置 >> 项目设置 >> 服务帐户 >> 数据库机密
我也想在评论部分对其进行评论,但由于缺少 Whosebug 点,我将其写为答案
已爱 :
public void removeDataFromFirebaseDatabae(){
FirebaseDatabase.getInstance().getRefrence().child("what you will remove").addChildEventListener(new onChildListener(){
@override
public void onChildAdded(DataSnapshot dp,String str){
for(DataSnapshot dx : dp.getChildren()){
dx.getRef().removeValue().addOnSuccessListener(new onSuccessListener<Void>(){
@override
public void onSuccess(Void pvoid){
Toast.makeText(this,"remove success",5000).show();
}});
}}});
}
此代码有助于逐一删除 firebase 实时数据库中的对象。
按路径名称对象删除所有子对象。
FirebaseDatabase.getInstance().getReference("yourReferance").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
for(DataSnapshot data : dataSnapshot.getChildren()) {
data.getRef().removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getContext(), "Successfully remove", Toast.LENGTH_SHORT).show();
}
});
}
}
.....
});
创建一个内容为 {} 的新 JSON 文件。
转到 firebase 控制台,单击右侧的 3 个点,单击导入 JSON,选择新创建的 JSON 文件,它将从 firebase 数据库中删除所有数据。
我开始使用使用 Firebase 实时数据库的代码。我将它实施到我的解决方案中。连接和控制非常完美,所以我把它用于生产环境。
一段时间后,我进行了升级,我需要再次删除所有数据 - 但是等等,console 中的最高根级别不再有删除按钮,并且一次只允许在一个选定的项目中使用:
https://console.firebase.google.com/project/{{project_name}}/database/data
在上次更新中只显示了这条消息,没有接下来的步骤:
Read-only & non-realtime mode activated to improve browser performance Select a key with fewer records to edit or view in realtime
问如何一次删除所有数据?
为什么缺少 Firebase 删除按钮?
Alvin 来自 Firebase Support :
Record or node has too much data, which makes the data viewer switch to a read-only/non real time mode to increase the browser's performance.
从命令行删除 Firebase 中的所有数据
Firebase 文档显示 Removing Data - 只是它们没有显示如何删除所有数据。
要删除所有数据,您可以在该节点级别使用 REST command - which remove whole JSON 输出
curl -X DELETE "https://{{project_id}}.firebaseio.com/.json"
因此您可以通过添加 JSON 扩展名
在每个生成的“控制台中的 URL 节点”上执行此操作https://{{project_id}}.firebaseio.com/{{path}}/{{path}}/{{path}}/.json
您可以手动创建一个包含单个空条目的 JSON 文件并导入它,这将删除所有现有条目。
您可以通过编程方式实现一种方法,将一组空数据放在数据库的主根上 - 具体来说,您可以插入一个空值。
在我的 Android 项目中它看起来像这样:
void removeDataFromDatabase(){
DatabaseReference root = FirebaseDatabase.getInstance().getReference();
root.setValue(null);
}
从 firebase 数据库中删除所有数据的一种简单方法是使用 Firebase CLI.
设置 CLI 后,您只需使用此命令即可删除您的数据:
firebase database:remove /
解决方案一:控制台
在您的项目中,单击数据库顶层的 x
按钮。
然后点击delete
解决方案 2:程序化
无论您使用何种语言,都可以这样调用:
database.set('/', null)
解决方案 3:Firebase CLI
从您的项目文件夹(您已经安装了 firebase-tools)在终端中写入以下内容然后点击 Enter
:
database:remove /
N.B:
Kindly consider to backup your data first.
我用过
curl -X DELETE "https://<prject name>.firebaseio.com/.json?auth=<Firebase Database secret>"
这也会删除数据库,其中包含被 firebase UI 阻止的数据。希望这可以帮助。谢谢
仅供参考:
Your get Web API key is in https://console.firebase.google.com/project/<database name>/settings/serviceaccounts/databasesecrets
否则你可以去 项目概览设置 >> 项目设置 >> 服务帐户 >> 数据库机密
我也想在评论部分对其进行评论,但由于缺少 Whosebug 点,我将其写为答案
已爱 :
public void removeDataFromFirebaseDatabae(){
FirebaseDatabase.getInstance().getRefrence().child("what you will remove").addChildEventListener(new onChildListener(){
@override
public void onChildAdded(DataSnapshot dp,String str){
for(DataSnapshot dx : dp.getChildren()){
dx.getRef().removeValue().addOnSuccessListener(new onSuccessListener<Void>(){
@override
public void onSuccess(Void pvoid){
Toast.makeText(this,"remove success",5000).show();
}});
}}});
}
此代码有助于逐一删除 firebase 实时数据库中的对象。 按路径名称对象删除所有子对象。
FirebaseDatabase.getInstance().getReference("yourReferance").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
for(DataSnapshot data : dataSnapshot.getChildren()) {
data.getRef().removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getContext(), "Successfully remove", Toast.LENGTH_SHORT).show();
}
});
}
}
.....
});
创建一个内容为 {} 的新 JSON 文件。 转到 firebase 控制台,单击右侧的 3 个点,单击导入 JSON,选择新创建的 JSON 文件,它将从 firebase 数据库中删除所有数据。