MongoDB Nedir? Nasıl Kullanılır ? — Bölüm 1

Tarık Kabasakal
4 min readMar 6, 2021

--

MongoDB ile ilgili yazım 3 bölümden oluşacaktır.

1-) Genel Tanıtım ve Temel Sorgular

2-) Belge Ekleme(Insert) ve Sorgulama(Query) İşlemleri

3-) Belge Güncelleme(Update), Silme(Delete) İşlemleri ve Ek Methodlar

MongoDB nedir ?

MongoDB, yüksek hacimli verilerin depolanması için kullanılan, ihtiyaç duyulan sorgulama ve indeksleme ile istenilen esnekliğe sahip belge tabanlı(document-oriented) NoSQL veritabanıdır. MongoDB 2009 yılında geliştirilmiş ve açık kaynak kodludur.

Genel MongoDB yapısı

MongoDB, geleneksel ilişkisel veritabanlarında olduğu gibi tablolar ve satırlar kullanmak yerine koleksiyonlar(Collections) ve belgelerden(Documents) yararlanır. Belgeler(Documents), anahtar(Key) — değer(Value) çiftlerinden oluşur. Koleksiyonlar, ilişkisel veritabanı tablolarına eşdeğerdir ve belgelerden(Documents) oluşur.

MongoDB Özellikleri

  • Her veritabanı, sırayla belgeleri içeren koleksiyonları içerir. Her belge, değişen sayıda alanla farklı olabilir. Her belgenin boyutu ve içeriği birbirinden farklı olabilir.
  • Belge yapısı, geliştiricilerin sınıfları ve nesneleri kendi programlama dillerinde nasıl inşa ettiklerine bağlıdır.
  • Belgelerin önceden tanımlanmış bir şemaya sahip olmasına gerek yoktur.
  • MongoDB’de bulunan veri modeli, hiyerarşik ilişkileri temsil etmenize, dizileri depolamanıza ve diğer daha karmaşık yapıları daha kolay bir şekilde göstermenize olanak tanır.
  • Ölçeklenebilirlik — MongoDB ortamları oldukça ölçeklenebilir bir yapısı vardır.
  • Bir belge kendi içinde ne kadar iç içe geçmiş olursa olsun, herhangi bir alana göre filtreleme ve sıralama yapmanıza olanak tanıyan zengin ve etkileyici sorgu dili vardır.
  • Coğrafi tabanlı arama, grafik arama ve metin arama gibi modern kullanım durumlarını destek sağlamaktadır.
  • Sorguların kendileri JSON’dur ve bu nedenle kolayca oluşturulabilir.

İndeksleme Özelliği

İndeksleme, MongoDB’nin yapılan sorgularda dökümanları baştan sona tamamının taramasını(table scan) engellemek için kullanılan bir özelliktir. İndeksleme olayını bir kitabın içindekiler bölümü gibi düşünebiliriz. Bir kitapta istenilen yeri bulmak için içindekiler alanına bakıp direkt ilgili sayfaya ulaşabiliriz. İndeksleme de buradaki içindekiler bölümü gibidir. MongoDB filtrelenecek veri için önce buraya bakar ve burada bulamaz ise koleksiyonların içinden arar bu yüzden index kullanımı sorgulamala, filtreleme gibi işlemlerde performansı çok etkilemektedir. Herhangi bir koleksiyon içindeki herhangi bir belgeye ait alan için index oluşturabilir. Fakat çok fazla index oluşturmak, sisteme yük yapmaktadır bu yüzden index seçilecek alanların iyi düşünülerek karar verilmesi gerekmektedir.

MongoDB Yükleme

MongoDB, günümüzde aktif olarak olarak kullanılan çoğu programlama dilini desteklemektedir ve bunun için kütüphaneleri mevcuttur. MongoDB’nin resmi sitesine girip bilgisayarınıza kurulumunu rahatça yapabilirsiniz. MongoDB’nin resmi sitesi gayet açıklayıcı ve net dökümanlara sahiptir. İncelemenizi tavsiye ederim.

MongoDB resmi web sitesi: https://www.mongodb.com

MongoDB yükleme sayfası: https://docs.mongodb.com/manual/installation/

MongoDB’yi bilgisayarınıza yükledikten sonra isterseniz komut ekranından veya MongoDB Compass gibi basit ve anlaşılır arayüze sahip programlar aracığıyla kullanabilirsiniz. MongoDB Compass gibi arayüzlerin çok fazla dökümanı internet ortamında mevcuttur onları araştırarak bulabilirsiniz, ben anlatıma komut penceresi üzerinden devam edeceğim.

MongoDB Temel İşlemler

MongoDB’yi eğer yüklediyseniz komut penceresine direk mongo yazarsanız aşağıdaki gibi bi ekran ile karşılaşmış olacaksınız ve burası MongoDB ile ilgili komutlara yazacağımız alandır.

mongo shell

Bazı temel komutlar aşağıdaki gibidir;

Veritabanlarını Görüntüle

show databases => Mevcut veritabanlarını listeler.

Yeni Veritabanı Oluştur

use db_name => Komut ekranında yeni veritabanı oluşturma işlemi genelinde biraz dışında kalıyor. Öncelikle use kelimesinden sonra veritabanın ismini giriyoruz. Daha sonra karşımıza ‘switched to db db_name’ ifadesi çıkıyor. Bu işlemden sonra tekrar ‘show databases’ dersek eklediğimiz veritabanını göremeyiz. Çünkü ilk veriyi eklediğimiz zaman veritabanı kendini oluşturacaktır.

Veritabanı Silme

use db_name

db.dropDatabase()

Hangi veritabanını sileceksek önce onu seçiyoruz ve daha sonra db.dropDatabase() dediğimizde resimdeki gibi bir cevap alıyorsak veritabanını başarıyla silmiş bulunmaktayız.

Mevcut Veritabanını Kullanma

use db_name => Var olan bir veritabanını kullanmak için bu komutu çalıştırmamız yeterlidir. Yeni veritabanı oluşturma işlemide aslında var olmayan bir veritabanı kullanıp sonra onu kaydetme anlamına gelmektedir.

Veritabanına Koleksiyon Ekleme

use db_name

db.createCollection(‘collection_name’) => Yeni koleksiyon eklemek için öncelikle veritabanını seçiyoruz ve bu komut giriyoruz Resimdeki gibi bir çıktı elde ediyorsak koleksiyon başarıyla eklenmiş demektir.

Mevcut Koleksiyonları Listeleme

use db_name

show collections => Mevcut koleksiyonların listesini döndürür.

Mevcut Koleksiyonları Silme

use db_name

db.collections_name.drop() => true cevabı gelirse eğe istenilen koleksiyon silmiş olur.

MongoDB için belgeler ile ilgili işlemlere kadar temel işlemler yukarıda anlatılmıştır. Belge işlemleri daha detaylı olduğu için bölüm-2 ve bölüm-3 kısmında anlatılacaktır.

--

--