MongoDB Nedir?
Yayın: · Son güncelleme:
MongoDB Nedir? Kısaca
MongoDB, verileri tablolar yerine JSON benzeri dokümanlar hâlinde saklayan, doküman tabanlı bir NoSQL veritabanıdır. Esnek yapısı sayesinde alanları kayıttan kayda değişebilen veriler kolayca tutulur.

MongoDB nedir?
MongoDB, aynı adlı şirketin geliştirdiği doküman tabanlı bir veritabanıdır. Veriler, JSON'a benzeyen ve BSON adı verilen ikili biçimde saklanan dokümanlarda tutulur. Benzer dokümanlar "koleksiyon" adı verilen gruplarda toplanır; bunu ilişkisel dünyadaki tabloya benzetebilirsiniz.
İlk sürümü 2009'da yayımlandı. Topluluk sürümü 2018'den beri SSPL lisansıyla dağıtılır ve şirketin MongoDB Atlas adlı yönetilen bulut hizmeti de bulunur.
Nasıl çalışır?
Her doküman kendi alanlarını taşır ve aynı koleksiyondaki dokümanların birebir aynı yapıda olması gerekmez. Varsayımsal bir ürün kaydı şöyle görünebilir:
{ "ad": "Kot Ceket", "fiyat": 850, "bedenler": ["S", "M", "L"] }
Başka bir üründe "bedenler" alanı hiç olmayabilir ya da "renk" alanı eklenebilir. Sorgular, MongoDB'nin kendi sorgu diliyle yazılır; örneğin fiyatı 1.000 TL'nin altındaki ürünleri bulmak için bir filtre nesnesi gönderilir.
Nerelerde kullanılır?
Ürün katalogları, içerik yönetimi, kullanıcı profilleri ve olay kayıtları tipik kullanım alanlarıdır. JavaScript ile yazılan projelerde veri biçimi koda yakın olduğu için geliştiriciler hızlı ilerler. MERN yığınındaki "M" harfi de MongoDB'yi temsil eder.
Nelere dikkat etmeli?
Esneklik, plansız kullanıldığında dağınık veriye dönüşebilir. Hangi alanların zorunlu olduğunu şema doğrulama kurallarıyla belirlemek iyi bir alışkanlıktır. Birbirine sıkı bağlı, çok tablolu muhasebe verilerinde ise ilişkisel veritabanı genellikle daha doğal bir seçimdir.
Sıkça Sorulan Sorular
MongoDB ücretsiz kullanılabilir mi?
Topluluk sürümü kendi sunucunuza ücretsiz kurulabilir ve Atlas hizmetinin sınırlı bir ücretsiz katmanı bulunur. Lisans ve kota koşulları değişebildiği için güncel bilgiyi MongoDB'nin resmî sitesinden kontrol edin.
MongoDB'de JOIN yapılabilir mi?
Doğrudan JOIN komutu yoktur, ancak aggregation içindeki $lookup aşamasıyla iki koleksiyon birleştirilebilir. Yine de MongoDB'de veriyi ilgili doküman içine gömmek çoğu zaman daha verimli bir yaklaşımdır.