Flutter Firebase Firestore DELETE işlemi

Flutter uygulamalarında Firebase Firestore servisi üzerinde DELETE yani dökümanları silme işleminin nasıl yapılacağından bahsedeceğim bu yazıma hoşgeldiniz. Daha önceki yazılarımda Firestore’a nasıl veri eklenir, veriler nasıl güncellenir, dökümanların verileri Firestore’dan nasıl okunur gibi birçok yazıda Firebase Firestore işlemlerini anlatmıştım.

Bu yazıda Flutter Firebase DELETE işlemi nasıl yapılır onu anlatacağım. Öncelikle bir dökümanı silmek oldukça basit.

var collection = FirebaseFirestore.instance.collection('users');
collection 
    .doc(uid)
    .delete();

Örneğin yukarıdaki kod parçası, users koleksiyonu içerisinde belirtilen uid’ye sahip dökümanı tamamıyla siler.

Peki ya birden çok dosyayı, belirli bir koşulu sağlayıp sağlamadığına göre silmek istiyorsak?

var collection = FirebaseFirestore.instance.collection('users');
var snapshot = await collection.where('approved', isEqualTo: false).get();
for (var doc in snapshot.docs) {
 await doc.reference.delete();
}

Yukarıdaki kod parçasında users içerisindeki dökümanların approved field’ı false olan tüm dökümanları çeker ve bir snapshot içerisine atar. Daha sonra bu snapshot’ı forEach veya for ile dönerek bu dökümanların referanslarını tek tek silip dökümanları yok edebilirsiniz.

Aynı zamanda koleksiyonları da silebilirsiniz fakat bu çok da tavsiye edilen bir yaklaşım değil. Topluca verileri tuttuğunuz koleksiyonları tek bir hamle ile silmek akıllıca değil. 🙂

Firebase Firestore üzerinde DELETE işlemi yapmak bu kadar basit işte. Bir başka Flutter Firebase yazı serisinde görüşmek dileğiyle. 🙂


Okuyucuya Not

Merhaba okuyucu! Blogum son zamanlarda yüksek trafik almaya başladı ve bu durumdan memnunum fakat aynı zamanda siz ziyaretçileri tatmin edememekten endişeliyim. 🙂 Eğer yazılarım ile ilgili bir tavsiyeniz olursa mail adresimden bana ulaşabilir veya Twitter üzerinden direct message gönderebilirsiniz. Github’ta örnek olarak yaptığım projelere göz atmak isterseniz de bu linki kullanabilirsiniz. Umarım bu ziyaretinizle size bir şeyler katabilmişimdir.

Sağlıcakla kalın!