3

Context: In the frontend the user can enter of delete dates for availability. This is how I added a date:

Firestore.instance.collection('availableDates').add({
        'availableDates':date});

But I also need to delete a document from a collection in Firestore. I don't know the document id but I know the the field value which is unique. How would I go about deleting the document if I know the field value within the document. Here is a screen shot of firestore:

enter image description here

Frank van Puffelen
  • 499,950
  • 69
  • 739
  • 734
flutter
  • 5,399
  • 6
  • 40
  • 63

2 Answers2

8

You can fetch the document first and then delete the document. For example:

var collection = FirebaseFirestore.instance.collection('countries');
var snapshot = await collection.where('city', isEqualTo: 'CA').get();
await snapshot.docs.first.reference.delete();
CopsOnRoad
  • 175,842
  • 51
  • 533
  • 380
nick.tdr
  • 3,770
  • 4
  • 22
  • 35
1

If anyone is confused after the update of why this code is not working please refer to this one. Update of March 21st, 2021.

refUser.where("city", isEqualTo: "CA").get().then((snapshot){
snapshot.docs.first.reference.delete();
});

I took a bit of time myself to get around this but if it helps even a single person stuck like me then it's all worth it. :)

Raza Shabbir
  • 106
  • 4