Resim

MongoDB Bağlantısını Kapatmak

MongoDB Bağlantısını Kapatmak

PyMongo ile çalışırken genellikle bağlantıyı açık tutmak iyi bir pratik olsa da (özellikle web sunucularında), uygulamanızın ömrü bittiğinde veya istemciyi artık kullanmayacağınızda bağlantıyı güvenli bir şekilde kapatmak önemlidir.

Bu, sistem kaynaklarını serbest bırakır ve gereksiz bağlantı yükünü önler.

1. Bağlantı Nasıl Kapatılır?

Bağlantıyı kapatmak, MongoClient nesnesinin close() metodunu çağırmak kadar basittir.

from pymongo import MongoClient

# Bağlantıyı kurma
client = MongoClient('mongodb://localhost:27017/') 
db = client['proje_db']
# ... CRUD ve diğer işlemler burada yapılır ...
# Bağlantıyı kapatma
client.close()
print("MongoDB bağlantısı güvenli bir şekilde kapatıldı.")

2. Bağlantı Yönetimi İpuçları

  • Tek Bağlantı (Single Client): Bir sunucuda veya uygulamada tek bir MongoClient nesnesi oluşturmak ve bu nesneyi uygulamanız boyunca yeniden kullanmak en iyi performansı sağlar. Her yeni işlem için yeni bir bağlantı oluşturmak performansı düşürür.

  • Bağlantı Havuzu (Connection Pooling): PyMongo varsayılan olarak bağlantı havuzlama (connection pooling) kullanır. Bu, bağlantıyı bir kez açtıktan sonra tekrar tekrar kullanılabilecek hazır bağlantıları havuzda tutar, böylece her istekte yeniden bağlantı kurma maliyeti olmaz.

  • with İfadesi (Gelişmiş Yönetim): Gelişmiş Python uygulamalarında, bağlantı yönetimini otomatikleştirmek için contextlib modülünden faydalanılabilir, ancak temel uygulamalar için client.close() yeterlidir.

Sonuç: NoSQL Dünyasına Hoş Geldiniz!

Tebrikler! Bu kapsamlı rehberde MongoDB'nin kurulumundan PyMongo ile gelişmiş işlemlere kadar her şeyi öğrendiniz.

Konu

Öğrenilenler

Ana PyMongo Metotları

Kurulum

Windows/macOS/Linux'ta MongoDB'yi kurma, PATH ayarı ve mongod/mongosh ayrımı.

mongosh (Kabuk)

Bağlantı

PyMongo kütüphanesini kurma ve yerel sunucuya ilk bağlantıyı kurma.

MongoClient()

Veri Oluşturma (CREATE)

Veritabanı ve koleksiyonların ilk belge eklenince otomatik oluşumu.

insert_one(), insert_many()

Veri Okuma (READ)

Basit filtreler, gelişmiş operatörler ($gt, $or) ve projeksiyon ile sorgulama.

find_one(), find(), sort(), limit()

Veri Güncelleme (UPDATE)

Belgeleri filtreleyip $set, $inc gibi operatörlerle tekil veya çoklu güncelleme.

update_one(), update_many()

Veri Silme (DELETE)

Filtreye göre tekil/çoklu belge silme ve koleksiyonu tamamen kaldırma.

delete_one(), delete_many(), drop()

Optimizasyon

Sorgu hızını artırmak için indeksleme (ASCENDING, DESCENDING, unique).

create_index()

Artık Python projelerinizde geleneksel ilişkisel veritabanı kısıtlamalarına takılmadan, esnek ve hızlı bir şekilde veri depolayabilir, yönetebilir ve sorgulayabilirsiniz.

Yorumlar

Bu blogdaki popüler yayınlar

Python random Modülü

Yazılım Nedir?

Python print()