MongoDB'ye Giriş: Temel Komutlar ve Veri Yapısı

MongoDB'ye Giriş: Temel Komutlar ve Veri Yapısı

MongoDB'ye Giriş: Temel Komutlar ve Veri Yapısı, MongoDB hakkında en temel bilgileri öğrenmek isteyenler için mükemmel bir kaynaktır Bu eğitimde, MongoDB'nin nasıl çalıştığından ve veri yapısından başlayarak, temel komutlarını nasıl kullanacağınızı öğreneceksiniz Bu sayede MongoDB'yi daha iyi anlayacak ve kullanımınızı iyileştireceksiniz

MongoDB'ye Giriş: Temel Komutlar ve Veri Yapısı

Bugün, MongoDB adlı bir NoSQL veritabanı hakkında konuşacağız. Bu makalede, MongoDB'nin temel komutları ve veri yapısı hakkında bilgi edineceksiniz. Ayrıca, MongoDB'yi nasıl kurabileceğiniz ve nasıl kullanabileceğiniz hakkında da rehberimizde ayrıntılı bilgi bulacaksınız.

Belge yönelimli bir veritabanı olan MongoDB, JSON dosyaları ya da belgeler olarak bilinen yapılar aracılığıyla verileri depolar. Veriler flat olarak, yani ilişkisel veritabanlarındaki tablolar ya da sütun yapıları şeklinde değil, birbirleri arasındaki hiyerarşik ilişkileri koruyarak depolanır. Bu, veritabanına yeni verilerin eklenmesini, güncellenmesini ve silinmesini kolaylaştırır.

Bu makale, MongoDB'nin temel komutları hakkında bilgi edinmek isteyen herkes için uygun bir rehberdir. Ayrıca, MongoDB'nin veri yapısı hakkında bilgi sahibi olmak isteyenler de bu makalede aradıklarını bulacaklar. Şimdi, MongoDB'nin temel komutlarını ve veri yapısını incelemeye başlayalım.


MongoDB Nedir?

MongoDB, verilerin düzenlenmesinde kullanılan NoSQL veritabanıdır. NoSQL veritabanları SQL tabanlı veritabanlarından farklılık gösterir. MongoDB, belge yönelimlidir, yani veriler belgeler halinde depolanır. MongoDB'nin esnek veri modeli sayesinde, veri kalıpları büyük ölçüde önceden tanımlanmış değildir. Bu özellik sayesinde veri depolama, veri modifikasyon ve veri yönetimi daha esnektir. Belge odaklı bir veritabanı olduğu için ilişkisel veritabanlarından farklıdır.

MongoDB, açık kaynak kodlu bir veritabanıdır. Büyük veri hacimlerinde, MongoDB kullanımı veri toplama ve analiz işlemlerinde daha kolay bir hale getirir. Ayrıca, NoSQL tabanlı veritabanları SQL tabanlı veritabanlarına göre daha hızlı çalışır. MongoDB birçok popüler programlama diliyle uyumludur ve herhangi bir düzeyde veri kullanımı için kullanılabilir.


MongoDB Kurulumu

MongoDB, belge tabanlı bir NoSQL veritabanı sistemi olup, kullanımı oldukça basit ve verimlidir. MongoDB kurulumu, işletim sisteminize bağlı olarak farklı yöntemlerle yapılabilir. Kurulum işlemiyle ilgili adımları aşağıdaki tabloda özetledik.

İşletim Sistemi Kurulum Yöntemi
Windows
  • Resmi MongoDB web sitesinden yönergeleri izleyerek indirin.
  • İndirilen dosyayı açın ve kurulum sihirbazını izleyerek kurulumu tamamlayın.
Linux
  • Terminalde aşağıdaki komutları girin:
  •           sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.listsudo apt-get updatesudo apt-get install mongodb-org        

MongoDB kurulumu, işletim sistemi fark etmeksizin oldukça kolaydır. Yukarıdaki adımları takip ederek MongoDB'yi kısa sürede kullanmaya başlayabilirsiniz.


Windows İçin MongoDB Kurulumu

Windows için MongoDB kurulumu oldukça basittir. İşlem adımlarına geçmeden önce MongoDB'nin Windows işletim sisteminizi destekleyip desteklemediğinden emin olun. Bu işletim sistemi, Windows Vista'dan yeni bir sürüm veya Windows Server 2008'den yeni bir sürümle birlikte gelmelidir.

İşlem adımlarına geçmeden önce doğru MongoDB sürümünü indirmeniz gerekiyor. MongoDB 32-bit veya 64-bit sürümüne sahiptir. Hangi sürümünü indirmeniz gerektiğini öğrenmek için bilgisayarınızın sürümüne bakın.

Şimdi, MongoDB kurulumunu gerçekleştirmek için aşağıdaki adımları takip edin:

  1. MongoDB web sitesine gidin ve indirme sayfasından kurulum dosyasını indirin.
  2. MongoDB sıkıştırılmış dosyasını açın.
  3. Kurulum sihirbazını çalıştırın ve gereken seçenekleri seçin.
  4. MongoDB'nin yükleneceği dizini seçin.
  5. Yüklemeyi tamamlamak için Install düğmesine tıklayın.
  6. MongoDB servisini başlatmak ve durdurmak için Windows hizmetler penceresini kullanabilirsiniz.

Bu işlem adımlarını takip ederek, MongoDB'yi kolayca Windows işletim sisteminize yükleyebilirsiniz.


Linux İçin MongoDB Kurulumu

Linux için MongoDB kurulumu oldukça basittir. İşletim sisteminizdeki uygun paketi indirerek kurulumu tamamlayabilirsiniz.

İsteğe bağlı olarak, MongoDB depolarınızı güncelleyebilirsiniz:

KomutAçıklama
sudo apt-get updateDepoları güncelleme
sudo apt-get upgradeSistemi güncelleme

Ardından, MongoDB'yi kurmak için şu komutu kullanabilirsiniz:

  • sudo apt-get install mongodb

Kurulum tamamlandıktan sonra, MongoDB servisini başlatın ve sisteminizde otomatik olarak başlamasını sağlayın:

  • sudo systemctl start mongodb
  • sudo systemctl enable mongodb

Artık MongoDB kullanıma hazır. Eğer bir hata alırsanız, MongoDB log dosyalarına bakın. Hatalar genellikle /var/log/mongodb/mongod.log dosyasında görünecektir.


MongoDB Temel Komutları

MongoDB temel komutları, bu veritabanı sisteminde çalışmak için bilinmesi gereken temel işlemleri kapsar. MongoDB'nin temel komutları arasında veritabanı oluşturma, koleksiyon oluşturma, döküman ekleme, güncelleme ve silme işlemleri gibi işlemler bulunur. Bu işlemleri gerçekleştirmek için MongoDB'de kullanılan çeşitli komutlar bulunmaktadır. Bu komutların kullanımı oldukça basittir ve işlemlerin hızlı ve kolay bir şekilde gerçekleştirilmesine olanak tanır.

MongoDB'de sık kullanılan temel komutlardan biri, veritabanı oluşturma komutudur. Yeni bir veritabanı oluşturmak için kullanılan komut, "use database_name" şeklinde kullanılır. Koleksiyon oluşturma işlemi ise "db.createCollection()" komutu ile gerçekleştirilir.

Döküman ekleme işlemi, "db.collection.insertOne()" veya "db.collection.insertMany()" komutları kullanılarak yapılır. Veri güncelleme işlemi için "db.collection.update()" veya "db.collection.updateMany()" komutları kullanılır. Döküman silmek için ise "db.collection.deleteOne()" veya "db.collection.deleteMany()" gibi komutlar kullanılır.

Bunlar sadece MongoDB'de kullanılan temel komutların bazılarıdır. Bu komutlar arasında daha pek çok kullanışlı fonksiyon da mevcuttur. Bu komutları kullanarak veritabanınızı düzenleyebilir, veri kayıtlarınızı güncelleyebilir ve silme işlemi gerçekleştirebilirsiniz. Bu yüzden, MongoDB'de çalışmaya başlarken, bu temel komutlarını iyi öğrenmek oldukça yararlı olacaktır.


Veritabanı Oluşturma

MongoDB'de veritabanı oluşturmak oldukça kolaydır. `use` komutu ile yeni bir veritabanı yaratabilirsiniz. Örneğin, `use deneme` komutuyla `deneme` adında bir veritabanı oluşturabilirsiniz.

Veritabanı oluşturduktan sonra, MongoDB bu veritabanının varlığına dair bir işaretleme yapar. Ancak veritabanı hemen oluşturulmaz. İlk olarak, bir koleksiyon ve dökümanlar oluşturmanız gerekir. Bu sayede veritabanı, MongoDB tarafından oluşturulur ve işlemler bu veritabanı üzerinde gerçekleştirilir.

Veritabanı isimleri küçük harfle yazılmalıdır. MongoDB, veritabanı isimlerinde büyük/küçük harf farkını kontrol etmez. Ancak bu, uygun bir isimlendirme yöntemi olduğu için önerilir.

Veritabanı oluşturma işlemi için kullanabileceğiniz bazı komutlar şunlardır:

  • use database_name: İlgili isimde yeni bir veritabanı oluşturur ve bunu kullanır.
  • db.createCollection(collection_name): İlgili isimde yeni bir koleksiyon oluşturur.
  • db.dropDatabase(): Mevcut veritabanını siler.

Yeni bir veritabanı oluşturmak, MongoDB'nin sunduğu birçok özelliği kullanmamızın ilk adımıdır. Ancak verilerin depolanması, listelenmesi ve kullanılması için daha fazla adım atılması gerekmektedir. Bu nedenle, diğer konuları da incelememiz önemlidir.


Koleksiyon Oluşturma

MongoDB veritabanlarında veriler koleksiyonlar içerisinde saklanır ve her bir koleksiyon belirli bir veri türüne sahiptir. Örneğin, bir e-ticaret sitesi için müşterileri saklamak için bir müşteri koleksiyonu oluşturabilirsiniz.

Yeni bir koleksiyon oluşturmak için db.createCollection() komutunu kullanabilirsiniz. Bu komutu kullanırken belirtilmesi gereken iki parametre vardır: koleksiyon adı ve belge yapısı. Belge yapısı isteğe bağlıdır ve belirtilmezse varsayılan bir belge yapısı kullanılır.

Örneğin, sitemizdeki blog yazılarını saklamak için yeni bir koleksiyon oluşturmak istiyorsak, aşağıdaki komutu kullanabiliriz:

db.createCollection("blog", {   validator: { $jsonSchema: {      bsonType: "object",      required: [ "title", "content", "author", "date" ],      properties: {         title: {            bsonType: "string",            description: "must be a string and is required"         },         content: {            bsonType: "string",            description: "must be a string and is required"         },         author: {            bsonType: "objectId",            description: "must be an objectId and is required"         },         date: {            bsonType: "date",            description: "must be a date and is required"         }      }   } }})

Bu komut, "blog" adında bir koleksiyon oluşturur ve her bir belgede en azından bir başlık, içerik, yazar ve tarih alanlarına sahip olması gerektiğini belirtir. Ayrıca, "author" alanının bir objectId türünde olması ve "date" alanının bir tarih türünde olması gerektiğini belirtir.

Koleksiyon oluşturduktan sonra, yeni belgeler koleksiyona eklemek için db.collection.insertOne() veya db.collection.insertMany() komutlarını kullanabilirsiniz.


Döküman Eklemek

MongoDB'de döküman eklemek oldukça kolaydır. İlk önce eklemek istediğiniz dökümanın kullanacağınız veritabanı ve koleksiyon ile uyumlu olması gerekir. Daha sonra, dökümanı insertOne() veya insertMany() metotları ile ekleyebilirsiniz.

insertOne() metodu tek bir belge eklemek için kullanılır. Örneğin;

db.koleksiyonAdi.insertOne(   {      "alan1": "deger1",      "alan2": "deger2",      "alan3": "deger3"   })

Yukarıdaki örnekte, koleksiyonAdi adlı koleksiyona bir döküman eklenmektedir. Döküman alanları "alan1", "alan2" ve "alan3" olarak belirlenmiştir. Ekleyeceğiniz dökümanların alanları ve değerleri bu şekilde belirtilmelidir.

insertMany() metodu ise birden fazla döküman eklemek için kullanılır. Örneğin;

db.koleksiyonAdi.insertMany([   {      "alan1": "deger1",      "alan2": "deger2",      "alan3": "deger3"   },   {      "alan1": "deger4",      "alan2": "deger5",      "alan3": "deger6"   }])

Yukarıdaki örnekte, koleksiyonAdi adlı koleksiyona iki adet döküman eklenmektedir. Ekleyeceğiniz dökümanları bir dizi içinde belirtmeniz gerekmektedir.

Döküman ekleme işlemi tamamlandıktan sonra, find() metodunu kullanarak eklenen dökümanları görüntüleyebilirsiniz.

db.koleksiyonAdi.find({})

Bu komut koleksiyonda bulunan tüm dökümanları görüntüler.


Döküman Güncellemek

MongoDB, belge yönelimli bir NoSQL veritabanıdır ve içerisinde birçok farklı işlemleri gerçekleştirebilirsiniz. Bu makalede MongoDB'de döküman nasıl güncelleneceği hakkında bilgi edineceksiniz.

MongoDB'de döküman güncelleme işlemi yaparken ilk olarak güncellenecek veriye ulaşmanız gerekiyor. Bunun için db.collection.updateOne komutunu kullanabilirsiniz.

Örneğin, belirli bir koleksiyondaki belirli bir dökümanı güncellemek istediğinizi varsayalım. Aşağıdaki örnekte, dökümandaki "name" alanındaki veriyi "John" yerine "Jack" olarak güncelliyoruz:

db.collection.updateOne()
db.collection.updateOne(
{ "name": "John" },
{ $set: { "name": "Jack" } }
)

Yukarıdaki komut, ilk parametrede güncellenmek istenen dökümanın filtrelemesi yapılırken, ikinci parametrede ise set operatörü vasıtasıyla güncelleme işlemi gerçekleştiriliyor. Bu işlem sonucunda "name" alanındaki veri "John" yerine "Jack" olarak güncelleniyor.

Eğer belirli bir koşula sahip olan tüm dökümanları güncellemek istiyorsanız, db.collection.updateMany komutu kullanılabilir.

Örneğin, birden fazla dökümanı güncellemek istediğinizi varsayalım. Aşağıdaki örnekte, "age" alanı 25'ten büyük olan tüm dökümanlardaki "status" alanını "active" olarak değiştiriyoruz:

db.collection.updateMany()
db.collection.updateMany(
{ "age": { $gt: 25 } },
{ $set: { "status": "active" } }
)

Yukarıdaki komut, ilk parametrede "age" alanı 25'ten büyük olan dökümanların filtrelemesi yapılırken, ikinci parametrede ise set operatörü vasıtasıyla "status" alanı "active" olarak güncelleniyor.

MongoDB'de verileri güncellerken, verinin silinip yerine yenisi yazılmak yerine güncellenmesi tercih edilir. Bu sayede, belirli bir zaman tarihinde yapılan güncellemeler takip edilebilir ve gereksiz veri artışının önüne geçilebilir.


Döküman Silmek

MongoDB veritabanı üzerinde çalışırken gerektiği zaman dökümanları silmemiz gerekebilir. Bu işlem oldukça basittir ve MongoDB temel komutları arasında yer alır. Döküman silmek için db.collection.deleteOne() komutunu kullanabilirsiniz.

Bu komut, verilen koşula uyan yalnızca bir dökümanı siler. Eğer koşula uyan birden fazla döküman varsa sadece ilkini siler. Tüm koşula uyan dökümanların silinmesi için db.collection.deleteMany() komutu kullanılır. Bu komut, koşula uyan tüm dökümanları kalıcı olarak siler.

Örneğin, inventory koleksiyonunda item alanı "apple" olan bir dökümanı silmek için aşağıdaki komut kullanılabilir:

Komut Açıklama
db.inventory.deleteOne( { item: "apple" } ) item alanı "apple" olan bir dökümanı siler.

Bir dökümanı silmeden önce dikkatli olunmalı ve gerekli yedeklemelerin alınması sağlanmalıdır. Aynı zamanda silinecek dökümanın diğer dökümanlarla olan bağlantısı dikkate alınmalı ve gerekli işlemler yapılmalıdır.


MongoDB Veri Yapısı

MongoDB, belge yönelimli bir veritabanı olduğundan, veriler belgeler olarak kaydedilir. Bu belgeler, JSON biçiminde saklanır. Bir belge, anahtar ve değer çiftleri şeklinde verilerin depolandığı bir veri yapısıdır. Bu yapı, verilerin kolayca erişilebilmesine olanak tanır. MongoDB'de veri yapısı şu şekildedir:

Belge veri yapısı MongoDB verilerinde kullanılan en temel yapıdır. Her belge, bir veya daha fazla alan ve her alanın bir değeri vardır. Belge alanları, farklı veri türlerinde olabilir. Örneğin, bir belge, bir dizi, bir tarih ya da bir başvuru gibi pek çok farklı veriyi barındırabilir.

Bir koleksiyon, bir veya daha fazla belgeyi barındıran bir grup olarak tanımlanabilir. Koleksiyonlar belirli bir amaç için oluşturulabilir; örneğin, bir "kullanıcılar" koleksiyonu, kullanıcıların bilgilerini içerebilir.

Veritabanı, bir veya daha fazla koleksiyonu barındıran bir depolama yapısıdır. MongoDB'de bir sunucuda birden fazla veritabanı olabilir. Veritabanlarının birbirleriyle bir bağlantısı yoktur ve verilerin bir veritabanından diğerine aktarılması için özel işlevler sağlanır.


Belge

MongoDB belge veri yapısı oldukça esnektir ve bu nedenle oldukça popülerdir. MongoDB'de, veriler belgeler halinde saklanır. Bir belge, anahtar-değer çiftlerinin bir koleksiyonudur. Belge yapısı, JSON formatına benzer ve kullanımı oldukça kolaydır. Bir belge farklı anahtar-değer çiftlerinden oluşur. Anahtar bir string, değer ise herhangi bir tip olabilir. Belge yapısı, tablolara benzer özellikleri olan ilişkisel veritabanlarına göre çok daha esnektir.

Bir veritabanındaki belgeler, herhangi bir yapıya sahip olabilir. Bu belgeler şunları içerebilir: metinler, sayılar, diziler, gömülü belgeler, objeler vb. Ayrıca, belgelerin yapıları, farklı şemalara sahip olabilir, bu da MongoDB'yi esnek bir veritabanı yapar. Yeni bir belge eklemek oldukça kolaydır. Örneğin, aşağıdaki örnekte yeni bir belge oluşturulmaktadır:

Komut Açıklama
db.musteriler.insertOne({"isim": "Ahmet", "soyisim": "Yılmaz", "yas": 32}) Yeni bir belge eklemek için insertOne() yöntemi kullanılır. Bu örnekte, "musteriler" koleksiyonuna yeni bir belge ekleniyor.

Bir belge güncellemek oldukça kolaydır. Örneğin, aşağıdaki örnekte "Ahmet" adlı müşterinin yaşını güncelliyoruz:

Komut Açıklama
db.musteriler.updateOne({"isim": "Ahmet"}, {"$set": {"yas": 33}}) updateOne() yöntemi kullanılarak belgenin güncellenmesi sağlanır. Bu örnekte, "isim" alanı "Ahmet" olan belgenin "yas" alanı "33" olarak güncelleniyor.

Bir belge silmek de oldukça kolaydır. Örneğin, aşağıdaki örnekte "Ahmet" adlı müşteriyi siliyoruz:

Komut Açıklama
db.musteriler.deleteOne({"isim": "Ahmet"}) deleteOne() yöntemi kullanılarak belgenin silinmesi sağlanır. Bu örnekte, "isim" alanı "Ahmet" olan belge siliniyor.

Belge veri yapısı, MongoDB'nin esnekliğini arttırmaktadır. Bu yapı sayesinde farklı veri tipleri kolayca saklanabilir ve kolayca güncellenebilir ya da silinebilir. Belge yapısını anlamak, MongoDB kullanıcıları için oldukça önemlidir.


Koleksiyon

MongoDB, belge yönelimli bir NoSQL veritabanıdır. Veriler, belgeler halinde JSON formatında saklanır. Bu sayede verilerin yapısal bir düzeni olmadan da rahat bir şekilde saklanmasına olanak tanır. Veritabanındaki bilgiler, koleksiyon olarak adlandırılan gruplar halinde saklanır.

Koleksiyonlar, MongoDB'de kullanılan bir veri yapısıdır. Koleksiyonlar, belirli türdeki belgeleri saklamak için kullanılırlar. Örneğin, bir kitap kütüphanesi uygulaması için koleksiyonlar, kitap türüne göre ayrılır, mesela romanlar, tarih kitapları, biyografiler gibi. Koleksiyonlar, veritabanındaki her belgenin türünü belirler. Her koleksiyon, bir veya daha fazla belge türü içerebilir.

Koleksiyonların oluşturulması oldukça kolaydır. MongoDB’de koleksiyonlar otomatik olarak oluşturulur. Bir belge eklendiğinde, belgeleri saklamak için gereken koleksiyonlar otomatik olarak oluşturulur. Ancak, kullanıcılar da manuel olarak bir koleksiyon oluşturabilirler.

Bu işlem oldukça basittir. db.createCollection() fonksiyonu, bir koleksiyon oluşturmak için kullanılır. Bu fonksiyonu kullanarak, yeni bir koleksiyon oluşturabilirsiniz. Yalnızca koleksiyonun adını belirtmeniz yeterlidir. Örneğin, yeni bir "users" koleksiyonu oluşturmak için aşağıdaki gibi bir komut kullanabilirsiniz:

            >use myDatabase        switched to db myDatabase        >db.createCollection("users")    

Koleksiyonlar otomatik olarak oluşturulduğu için, bu işlemi genellikle manuel olarak yapmak zorunda kalmazsınız. Ancak, belirli bir koleksiyonun özelliklerini özelleştirmek veya tam bir kontrol sahibi olmak isterseniz, bu işlemi manuel olarak yapabilirsiniz.


Veritabanı

MongoDB'de veritabanı, bir veya daha fazla koleksiyondan oluşan bir grup veri kümesidir. Her veritabanı, bir adla tanımlanır ve bir MongoDB sunucusunda birden fazla veritabanı bulunabilir. Veritabanları, kullanıcının veri yönetimi ve tasarım ihtiyaçlarına göre ölçeklendirilebilir ve ayrı kontrol paneline sahip olabilirler.

Her veritabanı, "system" önekli bazı koleksiyonlara sahiptir. Bu koleksiyonlar, sistem tarafından kullanılır ve kullanıcılar tarafından ekleme, silme veya değiştirme işlemi yapılamaz. Örnek olarak:

  • system.users: Sistem yöneticileri, kullanıcı hesaplarını yönetmek için bu koleksiyonu kullanır.
  • system.profile: Bu koleksiyon, yavaş sorguların profilini veya tüm sorguların kaydını tutmak için kullanılır.
  • system.indexes: Bu koleksiyon, her koleksiyondaki tüm dizinleri ve dizin bilgilerini tutar.

Veritabanları, uygulamanın gereksinimlerine göre özelleştirilebilir ve herhangi bir yapı oluşturulabilir. Ancak, bazı standart yapıların oluşturulması ve bu yapıların uygun bir şekilde kullanılması için bazı pratikler takip edilmelidir. Veritabanı oluşturulduktan sonra, kullanıcıların koleksiyonları, bu veritabanına ekleyebilirler ve uygulamalarının ihtiyaçlarına göre veritabanlarını modifiye edebilirler.