Merhabalar.

Artık kurulum işlemlerimizi tamamladığımıza göre yavaştan MongoDB dünyasına dalış yapabiliriz.

Bu yazımda MongoDB’nin temelini oluşturan 3 kavramdan bahsetmeye çalışacağım sizlere.

Database – Collection ve Document.

Database

MongoDB’de, verilerin depolandığı temel birimdir. Bir veritabanı, bir veya daha fazla koleksiyonu içerir. İlişkisel veritabanlarındaki gibi şemaya sıkı sıkıya bağlı olma zorunluluğu yoktur. Her veritabanı, disk üzerinde ayrı bir klasörde saklanır.

Örnek: Bir e-ticaret uygulaması için “OnlineStore” adında bir veritabanı oluşturalım. Komutların detaylarına bakacağız ancak bu use komutu ile bir database ismi verdiğimizde o database varsa ona bağlanır, eğer yoksa oluşturur.

use OnlineStore

Collection

Bir veritabanındaki belgelerin gruplandığı yerdir. Her koleksiyon, belirli bir türdeki belgeleri içerir. Koleksiyonlar, MongoDB’nin esnek yapısı sayesinde belirli bir şemaya bağlı olmadan farklı türde belgeleri içerebilir. SQL veritabanlarında Tablo’ya karşılık gelir.

Örnek: “OnlineStore” veritabanında “Products” adında bir koleksiyon oluşturalım.

db.createCollection("Products")

Document

MongoDB’deki temel veri birimidir. Her belge, BSON formatında bir JSON nesnesidir ve koleksiyon içinde depolanır. Belgeler, alan ve değer çiftlerinden oluşan esnek bir yapıya sahiptir.

Örnek: “Products” koleksiyonuna bir ürün ekleyelim.

db.Products.insertOne({
  name: "Laptop",
  brand: "ExampleBrand",
  price: 1200,
  specifications: {
    processor: "Intel i5",
    memory: "8GB RAM",
    storage: "256GB SSD"
  }
})

Bu, basit bir ürün belgesidir. Her alan, bir özelliği temsil eder.

MongoDB, bu esnek veri modeli sayesinde uygulamaların ihtiyaçlarına uygun şekilde veri saklamayı sağlar. Her belge kendi içinde farklı alanlara sahip olabilir, bu da veritabanının yapısal esnekliğini artırır.

Bir database birden çok koleksiyondan, her bir koleksiyonda bir veya birden çok document’tan oluşur.

Bir sonraki yazımda görüşmek üzere.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.