MongoDB
Belgeler, koleksiyonlar, sorgular ve erişim denetimi.
Seviye 101 · 18 ders · 15 pratik lab
Dersler
Başlangıç
- MongoDB kurulumu ve mongosh ile bağlanmak: MongoDB sunucusunu kurup mongosh komut satırıyla bağlanmayı ve ilk komutları çalıştırmayı öğrenirsin.
- MongoDB veritabanı ve koleksiyonlar: MongoDB'de veritabanı ve koleksiyon kavramlarını, tablo yerine belgelerle çalışmanın ne demek olduğunu anlarsın.
- MongoDB'ye belge eklemek: MongoDB'de koleksiyona tek ya da birden çok belge eklemeyi ve eklenen belgenin kimliğini görmeyi öğrenirsin.
- MongoDB BSON türleri, tarihler, diziler, gömülü belgeler: MongoDB'nin sakladığı veri türlerini, tarih, dizi ve iç içe belgelerle birlikte tanırsın.
- Kısa görev: bir kitapçının ürün koleksiyonu
Sorgular ve değişiklikler
- MongoDB sorguları ve filtre işleçleri: MongoDB'de filtre işleçleriyle koleksiyondan yalnızca koşula uyan belgeleri bulmayı öğrenirsin.
- MongoDB dizi sorguları: $elemMatch, $in ve $all: İçinde liste tutan belgelerde, aynı eleman birden çok koşulu sağlıyor mu diye doğru süzmeyi öğrenirsin.
- MongoDB sıralama, sınırlama ve alan seçimi: MongoDB'de sonuçları sıralamayı, sayısını sınırlamayı ve belgenin yalnızca gereken alanlarını almayı öğrenirsin.
- MongoDB'de belge güncellemek: MongoDB'de var olan belgelerdeki alanları değiştirmeyi ve yanlışlıkla fazla belgeyi etkilememek için dikkatli bir filtre yazmayı öğrenirsin.
- MongoDB'de belge silmek: MongoDB'de belgeleri silmeyi ve geri alınamayan bir silmeden önce neyin silineceğini kontrol etmeyi öğrenirsin.
- MongoDB’de hatalı veriyi bulmak: $type ve $exists: Yanlış türde yazılmış ya da eksik alanlı belgeleri bulup ayrı bir koleksiyona taşıyarak karantinaya alabileceksin.
- Güncelleme boru hattıyla veriyi temizlemek: updateMany ve koşullu ifadelerle yanlış sayıları ve metinleri tek komutta düzeltip sonra doğrulama kuralı eklemeyi öğrenirsin.
- Kısa görev: hatalı kayıtları bul ve düzelt
Tasarım, hız ve güvenlik
- MongoDB şema tasarımı ve referanslar: MongoDB'de verinin bir belgenin içine mi yoksa referansla ayrı belgeye mi konacağına karar vermeyi öğrenirsin.
- MongoDB doğrulama: $jsonSchema: MongoDB'de $jsonSchema ile koleksiyona hangi alanların ve türlerin girebileceğini belirleyip hatalı veriyi daha girişte engellersin.
- MongoDB indeksleri ve explain: MongoDB'de indekslerin aramayı nasıl hızlandırdığını görür, explain ile bir sorgunun nasıl çalıştığını incelersin.
- MongoDB toplama boru hatları ve $lookup: MongoDB'de verileri adım adım işleyip özetleyen toplama boru hatlarını ve başka koleksiyondan bilgi getiren $lookup'ı kullanmayı öğrenirsin.
- Bitirme görevi: MongoDB'de erişim denetimiyle bir katalog: Kurgusal bir şirketin ürün kataloğunu MongoDB'de kurar, kullanıcıları açar ve her birine yalnızca gereken rolü verirsin.
Pratik lablar
- Kitap koleksiyonuna ilk belgeleri ekle: Defne Kitabevi için yazar, fiyat ve etiket dizisi içeren beş kitabı insertMany ile ekle ve sorgula.
- Metin olarak girilmiş tarihleri gerçek tarihe çevir: Etkinlik koleksiyonunda metin olarak saklanan tarihleri Date türüne çevir ve tarih aralığı sorgusunun çalıştığını göster.
- İç içe adres yapısını tutarlı hale getir: Kimi belgede düz alan, kimisinde gömülü belge olarak duran adres bilgisini tek biçime taşı.
- Fiyat aralığındaki ürünleri süz: Mavikuş Market kataloğunda 100 ile 250 lira arası, stokta olan ürünleri sadece ad ve fiyatla getir.
- Dizide aynı öğede iki koşulu ara: Puan dizisinde hem 4 üstü puan hem "doğrulanmış" işareti aynı yorumda olan ürünleri $elemMatch ile bul.
- Yanlış sonuç veren dizi sorgusunu düzelt: Etiketleri tümüyle eşleşmesi gereken ama sırayla eşleştirilen sorgunun hatasını bul; $all ve $in farkıyla düzelt.
- Toplu fiyat zammı uygula: Bir kategorideki tüm ürünlerin fiyatını $mul ile yüzde 8 artır ve değişen belge sayısını doğrula.
- Dizide tek bir öğeyi güncelle: Sipariş belgesindeki kalemlerden yalnızca iade edilen ürünün durumunu konumsal operatörle değiştir.
- Yanlışlıkla silinecek belgeleri önceden yakala: Geniş filtreli bir deleteMany komutunu çalıştırmadan önce countDocuments ile etkisini ölç, filtreyi daralt ve güvenle sil.
- Eksik alanlı belgeleri bul: Müşteri koleksiyonunda e-postası olmayan ya da boş olan kayıtları $exists ile listele.
- Yanlış türde saklanmış fiyatları ayıkla: $type ile metin olarak girilmiş fiyatları bul ve güncelleme boru hattıyla sayıya çevir.
- Telefon numaralarını tek biçime getir: Farklı yazımlarla girilmiş telefon numaralarını güncelleme boru hattında temizle ve kalan hatalı kayıtları raporla.
- Koleksiyona basit bir şema kuralı ekle: Üye koleksiyonunda adı ve e-postası zorunlu olan bir $jsonSchema kuralı tanımla ve hatalı eklemeyi dene.
- Yavaş ürün aramasına indeks ekle: explain çıktısında COLLSCAN gördüğün kategori aramasına indeks ekle ve incelenen belge sayısını karşılaştır.
- Siparişleri müşteri adıyla birleştir: $lookup ile siparişlere müşteri adını ekleyen ve şehre göre toplam veren bir boru hattı yaz.
Kurs hakkında
Belgeler, koleksiyonlar, sorgular ve erişim denetimi.
Ne öğreneceksin
- Başlangıç
- Sorgular ve değişiklikler
- Tasarım, hız ve güvenlik
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.