Firestore perform delete based on condition

后端 未结 2 388
余生分开走
余生分开走 2021-01-13 01:38

Is there a way I can perform a delete on Firestore documents where field1 =x and field2 = y?

I see the delete function

2条回答
  •  醉梦人生
    2021-01-13 01:57

    To achieve this, you need to create the desired query first and then just use the delete() method like this:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    CollectionReference itemsRef = rootRef.collection("yourCollection");
    Query query = itemsRef.whereEqualTo("field1", "x").whereEqualTo("field2", "y");
    query.get().addOnCompleteListener(new OnCompleteListener() {
        @Override
        public void onComplete(@NonNull Task task) {
            if (task.isSuccessful()) {
                for (DocumentSnapshot document : task.getResult()) {
                    itemsRef.document(document.getId()).delete();
                }
            } else {
                Log.d(TAG, "Error getting documents: ", task.getException());
            }
        }
    });
    

提交回复
热议问题