MongoDB'de CRUD İşlemleri: Örneklerle Eğitim
Yayınlanan: 2020-02-05Web'in sürekli gelişimiyle birlikte, artık MongoDB ve diğer belge nesnesi veritabanlarının geleneksel SQL tabanlı veritabanlarına alternatif olarak nasıl ortaya çıktığını görüyoruz. Bu belge nesnesi veritabanlarının SQL veritabanlarına göre birçok avantajı vardır ve tüm bu avantajlardan en öne çıkanları ölçeklenebilirlik ve çevikliktir.
MongoDB'deki verilerin ikili kodlanmış JSON (BSON) belgeleri biçiminde saklandığını unutmamak önemlidir. Bu format, gömülü belge dizilerini veya bu konuda değerleri tutma gereksinimine sahip olabilir. Bir belge, değer ve alan çiftlerinden oluşturulan bir yapı olan MongoDB'de bir kayıt oluşturur.
Şimdi MongoDB'de oluşturma, güncelleme, alma ve silme işlemlerini veya CRUD işlemlerini tartışalım. Bu işlevler genel olarak MongoDB'de veri değiştirme işlevleri olarak sınıflandırılabilir. Bunlar sadece tek bir koleksiyon için kullanılabilir. Insert, MongoDB'de veritabanına veri eklemek için kullanılabilen bir fonksiyondur.
İçindekiler
MongoDB'deki CRUD İşlemlerinin Listesi
1. Belge Oluşturma
MongoDB kullanılarak nesneler nasıl oluşturulur? MongoDB, depolaması için JSON'un ikili bir temsili olan BSON'u kullanır. Bu nedenle, veritabanında farklı işlemleri gerçekleştirmek için kullanılan yöntemlerin JavaScript ile bir ilgisi olduğunu anlamak oldukça kolaydır. Bir kullanıcı ve kullanıcı koleksiyonu oluşturalım. SQL'deki tabloların MongoDB'deki koleksiyonlara eşdeğer olduğuna dikkat etmek de önemlidir.
db.users.save({ad:”Mike”, iş:”doktor”,e-posta:”[email protected]”})
Bu örnek, verileri koleksiyona kaydetmek için MongoDB save() kullanır.
2. Belgeleri Ekleme
- Toplu ekleme : Bu işlev, bir veritabanına aynı anda bir belge listesi eklemeye izin verir. Belirli bir zamanda bir toplu iş, yüzlerce hatta binlerce belgeye sahip olabilir. Birden çok belge ekleme özelliği ile bu işlev, diğer ekleme işlevlerinden çok daha hızlı çalışır. Bir toplu iş eki, yüzlerce veya binlerce belge için bireysel isteklerde bulunmanıza gerek duymaz. Bunun yerine bir İletim Kontrol Protokolü (TCP) isteği olarak çalışır. Ekler sırasında geçen süre, herhangi bir başlık işleme faaliyeti içermediğinden her zaman önemli ölçüde daha azdır. Eklenmesi gereken her belge, yapılması gereken işlemi veritabanına ileten bir başlık taşır. Çoğunlukla, toplu eklemeler, sensör verilerini ve sunucu günlüklerini tutmak için kullanılır.
- Mongoimport : Mongoimport, MySQL, Oracle veya diğer herhangi bir İlişkisel Veritabanı Yönetim Sisteminden (RDBMS) temel verilere toplu ekleme yerine kullanılan bir komut satırı aracıdır. MongoDB'de saklamadan önce belgelerde değişiklik yapmanızın (özel bir kimlik eklemeniz) gerekebileceği zamanlar olabilir. Bilmeniz gereken bir diğer önemli şey de MongoDB'nin yalnızca 16 MB'a kadar olan mesajları kabul etmesidir. Bu nedenle toplu ekleme, sahip olabileceği mesaj sayısına bir kısıtlama getirir.
- Sırasız toplu ekleme : Bu fonksiyonda MongoDB herhangi bir sıra izlemeden işlemleri yazar. Herhangi bir hata oluşması durumunda herhangi bir kesinti olmadan kalan yazma işlemlerine devam edecektir. MongoDB, bunları gerçekleştirirken sırasız işlemlerden oluşan bir grup oluşturur. MongoDB ayrıca listelenen işlemleri yürütmeden önce yeniden sıralayarak performans geliştirme isteyebilir. Bu nedenle, toplu ekleme için bu işlevi değerlendirirken uygulamaların bir diziye dayanması gerekmez. Bulk.getOperations(), MongoDB'nin bir dizi işlemi nasıl gruplandırdığını ve ardından bunları nasıl yürüttüğünü görmek için kullanılabilir. Bu komut, aynı anda ancak herhangi bir sıra olmaksızın üç belge eklemek için kullanılabilir.
- Sıralı toplu ekleme: Bu işlevde MongoDB, işlemler yazarken bir sıra izler. Herhangi bir yazma işlemi sırasında bir hata, MongoDB'nin diğer yazma işlemlerini gerçekleştirmemesine neden olur. Sıralı işlemler, sürekliliklerine ve türlerine göre gruplandırılır. Aynı sınıfa ait bitişik sıralı işlemler gruplandırılır.
Örneğin , sıralı bir listede bir ekleme işlemi, ardından silme işlemi ve ardından iki güncelleme işlemi varsa, MongoDB bunları yığınlamak için üç grup oluşturacaktır. Birinci grup, bir ekleme işleminden oluşacaktır. İkinci grup bir silme işlemine sahip olacaktır. Üçüncü grup, iki güncelleme işlemini bir araya getirecektir.

MongoDB'nin gelecekteki sürümlerinin bu davranışla uygun şekilde ilgilenmesi bekleniyor. Her bir sıralı toplu liste grubunun 1000'den fazla işlemi olamaz. Sayının bu maksimum sınırı aşması durumunda, MongoDB bu sınıra uymak için 1000 veya daha az işlemden oluşan daha küçük gruplar oluşturur. Yani 7000 adet sipariş edilmiş toplu işlem varsa, her biri 1000 toplu işlemden oluşan yedi grup olacaktır. Gruplama ve yürütmenin nasıl yapıldığını görmek için önce toplu ekleme komutunu çalıştırın ve ardından Bulk.getOperations komutunu kullanın. Bu komut sırayla üç belge eklemek için kullanılabilir.

3. Belgeleri Alma/Okuma
MongoDB'deki her sorgu belirli belgelere yöneliktir. MongoDB, belgeleri bir sorguda tanımlanan koşula göre tanımlar ve ardından bu belgeleri amaçlanan varış noktasına döndürür. Belge alma sorgusu, belgenin döndürülmesi gereken alanlarıyla eşleşen koşullardan veya ölçütlerden bahseden bir projeksiyona sahip olabilir.
Sorgular, atlamalar, limitler ve sıralama düzenleri koymak için değiştirilebilir.
Şimdi eşitlik koşulunun nasıl belirlendiğini tartışalım. Bir belgenin ilk kaydını tanımlamak için findOne() komutunu kullanın. Sonuçları uygun biçimde görüntülemek için güzel yöntemini kullanabilirsiniz.
Bir koleksiyonda listelenen tüm belgeleri belirlemek ve hepsini standart bir biçimde görüntülemek için db.items.find().pretty() sorgusunu kullanın. Tüm belgeleri seçmek için boş bir sorgu kullanabilirsiniz – db.items.find( {} ) – bu sorgunun sonunda boş bir sorgu yan tümcesi vardır – bu nedenle bir koleksiyonda listelenen tüm belgeleri tanımlayacaktır.
Bul yöntemini bir sorgu belgesi ile belirtmemek ve boş bir sorgu kullanmak aynı sonucu verecektir. Dolayısıyla, db.items.find( {} ) ve db.items.find() sorguları, kullanıldıkları sonuç açısından eşdeğerdir.
Sorguyu değiştirebilir ve sorgu imleci yöntemini kullanabilirsiniz; sayma yöntemi ise bir koleksiyondaki sorgunuzla eşleşen belge sayısını bulmanızı sağlar. db.items.count()
4. Belgeleri Güncelleme
MongoDB'deki belgeleri güncellemek için update() yöntemini kullanmanız gerekir. Güncelleme yöntemi iki önemli öğeye sahiptir - sorgulama ve güncelleme. Sorgu parametresi önce gelir, ardından güncelleme parametresi gelir. İşte bir örnek
db.users.update({ad:”Mike”}, {yaş: 32})
Ancak, bu durumda yaş olan bir değer çiftini güncellemenin doğru yolu bu değildir. Bununla, belgedeki her şeyin üzerine yazacaksınız. Çağda kalacak tek şey. Bu nedenle, belgenin tamamında tek bir değer çiftini güncellememiz gerektiğinde, birkaç anahtar kelime kullanmamız gerekir.
db.users.update({ad: “Mike”}, { $set: { yaş: 28}})

Bu hiçbir şeyin üzerine yazmaz. Belgenin sahip olduğu tüm bilgileri saklarsınız. Yalnızca yaş değeri güncellenecektir.
5. Belgeleri Kaldırma
Belgeleri bir koleksiyondan kaldırmak için kaldırma yöntemini – db.courses.remove() – kullanın. Bu komut, verilen koleksiyondaki tüm belgeleri kaldıracaktır. Kaldırmayacağı şey dizinler ve koleksiyonun kendisidir. Kaldır komutu bazen bir sorguyu parametre olarak alabilir. Sorguda belirtilen kriterlere uyan belgeleri kaldırmak istiyorsanız, db.items.remove({“item”: “Kalem”) komutunu kullanın.
Koleksiyondan yalnızca bir belgeyi kaldırmak için db.items.remove({” item” : “Bag},1) komutunu kullanın. Tüm belgeleri, koleksiyonu ve dizinleri kaldırmak için db.courses.drop() komutunu (bırakma yöntemi) kullanın.
Çözüm
Büyük Veri hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dili ve aracını kapsayan, pratik uygulamalı Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın çalıştaylar, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.
Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.