- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
delete) ve
Koleksiyonu Kaldırmak (drop)MongoDB'de veri silme, bulma işlemine benzer şekilde, bir sorgu
filtresi (query) belirleyerek yapılır.
Hangi belgelerin silineceğine bu filtre karar verir.
Silme işlemlerini önceki örneklerde kullandığımız kitaplar
koleksiyonu üzerinde gerçekleştireceğiz:
from pymongo import MongoClientclient = MongoClient('mongodb://localhost:27017/')db = client['proje_db']kitaplar_col = db['kitaplar']
delete_one)Filtreye uyan belgelerden yalnızca ilkini silmek için
delete_one() metodu kullanılır.
Örnek: Yazar Adına Göre Silme
Daha önce eklediğimiz 'Web Geliştirme Temelleri' kitabını (yazarı 'Ece Sönmez') silelim.
# Sorgu Kriteri: Yazarı Ece Sönmez olan ilk belgesilme_filtresi = {"yazar": "Ece Sönmez"}sonuc = kitaplar_col.delete_one(silme_filtresi) print("--- Tek Belge Silme (delete_one) ---") print(f"Silinen belge sayısı: {sonuc.deleted_count}") # Kontrol: Eğer silinen belge sayısı 1 ise işlem başarılıdır.
delete_many)Filtreye uyan tüm belgeleri silmek istediğinizde delete_many()
metodu kullanılır. Bu metot, silme işleminin ardından kaç belge
sildiğini döndürür.
Örnek: Belirli Bir Yayınevine Ait Tüm Kitapları Silme
"Yazılım Kitapları A.Ş."
yayınevine ait tüm kitapları silelim.
# Sorgu Kriteri: Yayınevi 'Yazılım Kitapları A.Ş.' olan tüm belgeler
coklu_silme_filtresi = {"yayinevi": "Yazılım Kitapları A.Ş."}
sonuc = kitaplar_col.delete_many(coklu_silme_filtresi)
print("\n--- Çoklu Belge Silme (delete_many) ---")
print(f"Toplam {sonuc.deleted_count} adet belge silindi.")
DİKKAT: Silme işleminden önce,
silinecek belge sayısını find(filtre).count_documents()
ile kontrol etmek iyi bir pratik ve güvenlik önlemidir.
Bir koleksiyondaki tüm belgeleri silmek için delete_many()
metoduna boş bir filtre ({}) geçirilir:
# # Bu komut, koleksiyondaki tüm belgeleri siler# sonuc = kitaplar_col.delete_many({})# print(f"Tüm koleksiyondan {sonuc.deleted_count} belge silindi.")
drop)Eğer yalnızca koleksiyonun içeriğini değil, koleksiyonun
kendisini (indexler ve ayarlar dahil) tamamen silmek isterseniz
drop() metodunu kullanırsınız. Bu, en
kesin silme işlemidir.
# 'kitaplar' koleksiyonunu veritabanından tamamen kaldır
kitaplar_col.drop()
print("\n--- Koleksiyonu Kaldırma (drop) ---")
print(f"'{kitaplar_col.name}' koleksiyonu veritabanından silindi.")
Yorumlar
Yorum Gönder