如何删除Firestore集合中的所有文档

时间:2019-07-09 01:24:13

标签: java android firebase google-cloud-firestore

我正在制作智能手机应用程序,我想删除Firestore数据库中的所有项目,而不是专门删除一个项目。我该怎么做?

这将用于我的Android应用程序(我正在Android Studio中开发它),并且使用Java编码。另外,我正在使用RecyclerView来显示文档。我曾尝试检查互联网和我自己制定的一些解决方案,但都没有用。

我还检查了this question。但是接受的答案并没有真正的帮助,它真正的意思是:

  

“您要做的是查询所有文档,收集所有ID,然后编写一些代码以迭代这些ID并删除所有ID。

我不知道该怎么做,所以做一个答案也很有帮助。

这是我的代码,我希望这是您所需要的(我删除了一些代码以简化代码)。

MainActivity.java

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()”,程序将删除集合中的所有文档。

0 个答案:

没有答案