MongoDB Inc. tarafından C++ programlama dili kullanılarak 2009 yılında geliştirilmiş olan MongoDB, doküman tabanlı ve ölçeklenebilir bir uygulamadır.

MongoDB verileri JSON biçiminde doküman olarak veritabanında saklayan NoSQL tabanlı bir veritabanıdır diyebiliriz.

NoSQL nedir?

NoSql (Not Only SQL) temel olarak içinde SQL komutlarının kullanılmadığı veritabanı yapısıdır. İlişkisel veritabanlarına alternatif, ilişkisel olmayan, esnek yapılı, büyük verili ve çok sayıda aktif kullanıcılı sistemlerde yüksek performans ve yönetim kolaylığı sunan veritabanı çözümüdür.

MongoDB Özellikleri

MongoDB Nerelerde kullanılır?

MongoDB genel olarak hızın önemli olduğu gerçek zamanlı uygulamalar ve büyük verilerin olduğu uygulamalarda kullanılır diyebiliriz.

MongoDB Kurulumu için gerekli olan kurulum dosyalarına mongodb.com adresinden ulaşabilirsiniz.

MongoDB CRUD İşlemleri

MongoDB Veri Ekleme

MongoDB’ de veri eklemek işlemi için insert() metodu kullanılır. Metot eklenecek veriyi parametre olarak JSON biçiminde alır.

db.ornekKoleksiyon.insert({ ad: “Veysel”, soyadi: “MUTLU” });

Toplu ekleme

db.ornekKoleksiyon.insert([
{ adi: “Veysel”, soyadi: “MUTLU” },
{ adi: “Veli”, soyadi: “MUTLU” } ]);

Eklenen verileri listelemek için find() metodu kullanılır.

Koleksiyon oluşturma

MongoDB de koleksiyon oluşturmak için insert() metodu ile veri eklemek yeterlidir.

capped değeri true ise size ve max ile koleksiyon sınırı belirlenir.

db.createCollection(“ornekKoleksiyon”, { capped: true, size: 1024, max: 100 });

Veri listeleme

MongoDB de verileri listelemek için find() metodu kullanılır.

Çalıştırıldığında koleksiyonda yer alan tüm veriler listelemek için; db.ornekKoleksiyon.find();

Verileri anlaşılır bir şekilde listelemek için; db.ornekKoleksiyon.find().pretty();

Verilerin sayısını almak için;
db.ornekKoleksiyon.find().length();

Verileri belirli bir alana göre sıralamak için
db.ornekKoleksiyon.find().sort({ adi: 1 });

Verileri ters olarak sıralamak için;
db.ornekKoleksiyon.find().sort({ adi: -1 });

İlk veriyi almak için;
db.ornekKoleksiyon.findOne();

Veri içindeki bir alanı almak için;
db.ornekKoleksiyon.findOne().adi;

Alınan veri sayısına sınır koymak için;
db.ornekKoleksiyon.find().limit(3);

Bellirli bir kayıttan sonrasını listelemek için;
db.ornekKoleksiyon.find().skip(2);

Veri sorgulama

Veri listelemek için kullanılan find() metodu veri sorgulamak içinde kullanılır.

İstenilen sorgulamayı yapmak için find() (Örnek: find({adi:”Veysel”}))metodu içerisine JSON formatında sorgulanmak istenen alan adları yazdırılıp çalıştırılır.

Veri güncelleme

MongoDB de veri güncellemek için update() metodu kullanılır.

db.ornekKoleksiyon.update(kriteriniz, guncellenecekVeriniz);

Verilen alanları güncellemek için $set anahtar kelimesi kullanılır.
db.ornekKoleksiyon.update({ adi: “Veysel” }, { $set: { adi: “Veli” } });

Toplu güncelleme yapmak için;
db.ornekKoleksiyon.updateMany({ adi: “Veysel” }, { $set: { adi: “Veli” } });

Toplu güncelleme işlemini update metodu ile yapmak için;
db.ornekKoleksiyon.update({ adi: “Veysel” }, { $set: { adi: “Veli” } }, { multi: 1 });

Koleksiyon içinde sayısal verileri arttırmak için;
db.ornekKoleksiyon.updateMany({}, { $inc: { deger: 100 } });

Koleksiyon içindeki alan silmek için;
db.ornekKoleksiyon.updateMany({}, { $unset: { alan1: 1, alan2: 1 } });

Veri silme

MongoDB de veri silmek için remove() metodu kullanılır.

db.ornekKoleksiyon.remove({ adi: “Veysel” }); -> Çalıştırıldığında koleksiyondaki adi Veysel olan tüm elemanlar silinecektir.

Herhangi bir kriter belirtmeden tüm kayıtları silmek için;
db.ornekKoleksiyon.remove({});

Sadece bir veri silinmek istendiğinde;
db.ornekKoleksiyon.remove({ adi: “Veysel” }, 1);

Koleksiyon silme

Koleksiyonu tamamen silmek için drop() metodu kullanılır.

db.ornekKoleksiyon.drop();

Umarım güzel bir içerik olmuştur. İlgilenenlere faydalı olması dileğiyle…

Veysel MUTLU — Junior Software Developer

Github: github.com/vmutlu

Linkedln: linkedin.com/in/veysel-mutlu/

Junior Software Developer