MongoDB'de Verileri Etkili Şekilde Sorgulamak
MongoDB, belge tabanlı bir veritabanı olarak ilişkisel veritabanlardan farklı çalışır. Verileri JSON benzeri yapıda saklayan MongoDB'de sorgulamak, doğru yöntemler kullanıldığında hızlı ve etkilidir.
MongoDB'de veri sorgulama işlemi find() metodu ile yapılır. Basit bir sorgu şu şekilde çalışır:
1db.collection.find({ isim: "Ahmet" })Bu komut "isim" alanı "Ahmet" olan tüm belgeleri döndürür. Ancak büyük veri setlerinde bu yöntem yavaş olabilir.
Sorguları daha güçlü hale getirmek için operatörler kullanılır. Örneğin, yaşı 25'ten büyük olan kullanıcıları bulmak için:
1db.users.find({ age: { $gt: 25 } })Yaygın operatörler arasında $gt (büyüktür), $lt (küçüktür), $in (listede bulunur) ve $regex (metin araması) yer alır. Birden fazla koşulu birleştirmek için $and ve $or operatörleri kullanılabilir.
Performans açısından en önemli nokta indekslerdir. Sık sorgulanan alanlara indeks eklemek sorgu hızını dramatik şekilde artırır:
1db.users.createIndex({ email: 1 })Bu komut email alanına artan sırada bir indeks oluşturur. Bileşik indeksler de mümkündür:
1db.users.createIndex({ isim: 1, soyisim: 1 })MongoDB'de sorgu sonuçlarını sınırlamak ve sıralamak için limit() ve sort() metodları kullanılır. Örneğin, en yeni 10 kullanıcıyı almak için:
1db.users.find().sort({ _id: -1 }).limit(10)Sorgu yazarken, gereksiz alanları getirmekten kaçınmak da önemlidir. Projeksiyon kullanarak sadece ihtiyaç duyulan alanları seçebilirsiniz:
1db.users.find({ age: { $gt: 25 } }, { isim: 1, email: 1, _id: 0 })MongoDB'de etkili sorgulama, doğru indeksler ve operatörler kombinasyonu ile gerçekleşir. Veri tabanınızın büyümesi durumunda, sorgu optimizasyonu başından itibaren dikkate alınmalıdır.
0 yorum