我正在制作智能手机应用程序,我想删除Firestore数据库中的所有项目,而不是专门删除一个项目。我该怎么做?
这将用于我的Android应用程序(我正在Android Studio中开发它),并且使用Java编码。另外,我正在使用RecyclerView来显示文档。我曾尝试检查互联网和我自己制定的一些解决方案,但都没有用。
我还检查了this question。但是接受的答案并没有真正的帮助,它真正的意思是:
“您要做的是查询所有文档,收集所有ID,然后编写一些代码以迭代这些ID并删除所有ID。”
我不知道该怎么做,所以做一个答案也很有帮助。
这是我的代码,我希望这是您所需要的(我删除了一些代码以简化代码)。
package com.example.database;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import com.firebase.ui.firestore.FirestoreRecyclerOptions;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.Query;
public class MainActivity extends AppCompatActivity{
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private CollectionReference notebookRef = db.collection("Notebook");
private NoteAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu2) {
MenuInflater menuInflatersearch = getMenuInflater();
menuInflatersearch.inflate(R.menu.main_page_buttons, menu2);
return super.onCreateOptionsMenu(menu2);
}
@Override
public boolean onOptionsItemSelected(MenuItem item2) {
switch (item2.getItemId()) {
case R.id.action_delete:
deleteAllClients();
return true;
default:
return super.onOptionsItemSelected(item2);
}
}
private void deleteAllClients()
{
//Code Can Go Here!
}
}
(请注意,代码来自此Youtube Tutorial。)
我希望一旦激活“ deleteAllClients()”,程序将删除集合中的所有文档。