MongoDB – Veritabanı, Koleksiyon ve Belge
Veritabanları, koleksiyonlar, belgeler MongoDB’nin önemli parçalarıdır, bunlar olmadan MongoDB sunucusunda veri depolayamazsınız. Bir Veritabanı bir koleksiyon içerir ve bir koleksiyon belgeleri içerir ve belgeler veri içerir, bunlar birbirleriyle ilişkilidir.
Veri tabanı
MongoDB’de bir veritabanı, belge koleksiyonlarını içerir. MongoDB sunucusunda birden fazla veritabanı oluşturulabilir.
Veritabanını Görüntüle:
MongoDB sunucunuzda kaç tane veritabanı olduğunu görmek için mongo kabuğuna aşağıdaki ifadeyi yazın:
show dbs
Burada, MongoDB’yi yeni başlattık, bu yüzden bu üç varsayılan veritabanı, yani admin, config ve local dışında bir veritabanımız yok.
Veritabanı için Adlandırma Kısıtlaması:
Bir veritabanı oluşturmadan önce, veritabanları için adlandırma kısıtlamalarını öğrenmelisiniz:
- MongoDB’de veritabanı adları büyük/küçük harfe duyarlı değildir, ancak veritabanı adlarının yalnızca karakterlerin büyük/küçük harflerinden farklı olamayacağını her zaman hatırlamanız gerekir.
- Windows kullanıcısı için MongoDB veritabanı adları aşağıdaki karakterlerden herhangi birini içeremez:
/\. "$*:|?
- Unix ve Linux kullanıcıları için MongoDB veritabanı adları aşağıdaki karakterlerden herhangi birini içeremez:
/\. "$
- MongoDB veritabanı adları boş karakterler içeremez (Windows, Unix ve Linux sistemlerinde).
- MongoDB veritabanı adları boş olamaz ve 64’ten az karakter içermelidir.
Veritabanı Oluşturma:
Mongo kabuğunda, aşağıdaki komut yardımıyla bir veritabanı oluşturabilirsiniz:
use database_name
Bu komut aslında verilen ad yoksa sizi yeni veritabanına, verilen ad varsa mevcut veritabanına geçirir. Şimdi bu aşamada, yeni veritabanınızın o veritabanı listesinde bulunmadığını göreceğiniz veritabanı listesini görmek için show komutunu kullanırsanız, MongoDB’de veritabanı aslında o veritabanına veri girmeye başladığınızda oluşturulur.
Burada use komutunu kullanarak sunucucozumleri adında yeni bir veritabanı oluşturuyoruz . Veritabanı oluşturduktan sonra veritabanı listesini kontrol ettiğimizde sunucucozumleri veritabanına herhangi bir veri girmediğimiz için veritabanımızı o listede bulamıyoruz.
Koleksiyonlar, ilişkisel veritabanlarındaki tablolar gibidir, aynı zamanda verileri de depolarlar, ancak bunlar belge biçimindedir. Tek bir veritabanının birden çok koleksiyonu depolamasına izin verilir.
Şemasız:
MongoDB veritabanlarının şemasız olduğunu bildiğimiz gibi. Bu nedenle, bir koleksiyonda bir belgenin şemasının başka bir belgeye benzer olması gerekli değildir. Veya başka bir deyişle, tek bir koleksiyon, mystudentData koleksiyonunun iki farklı türde belge içerdiği aşağıdaki örnekte gösterildiği gibi farklı türde belgeler içerir:
Koleksiyon için Adlandırma Kısıtlamaları:
Bir koleksiyon oluşturmadan önce, koleksiyonlar için adlandırma kısıtlamalarını öğrenmelisiniz:
- Koleksiyon adı bir alt çizgi veya bir karakterle başlamalıdır.
- Koleksiyon adı $, boş dize, boş karakter içermez ve sistem ile başlamaz. önek.
- Koleksiyon adının maksimum uzunluğu 120 bayttır (veritabanı adı, nokta ayırıcı ve koleksiyon adı dahil).
Koleksiyon oluşturma:
Veritabanı oluşturduktan sonra artık belgeleri saklamak için bir koleksiyon oluşturuyoruz. Koleksiyon, aşağıdaki sözdizimi kullanılarak oluşturulur:
db.collection_name.insertOne({..})
Burada, belirtilen koleksiyondaki tek verileri depolamak için insertOne() işlevi kullanılır. Ve küme parantezlerinde {} verilerimizi saklıyoruz veya başka bir deyişle bu bir belge.
Bu örnekte Author adında bir koleksiyon oluşturuyoruz ve buna insertOne() fonksiyonu yardımıyla veri ekliyoruz. Veya başka bir deyişle, {isim: “Ankita”} Yazar koleksiyonundaki bir belgedir ve bu belgede isim anahtar veya alan ve “Ankita” bu anahtarın veya alanın değeridir. Enter’a bastıktan sonra bir mesaj aldık (yukarıdaki resimde gösterildiği gibi) ve bu mesaj bize verilerin başarılı bir şekilde girdiğini (yani “onay”: doğru) ve ayrıca bize otomatik olarak oluşturulan bir kimlik atadığını söylüyor. Her belgenin benzersiz bir kimlik sağlaması MongoDB tarafından sağlanan özel bir özelliktir ve genellikle bu kimlik otomatik olarak oluşturulur, ancak kendi kimliğinizi oluşturmanıza izin verilir (benzersiz olmalıdır).
Belge
MongoDB’de veri kayıtları BSON belgeleri olarak saklanır. Burada, BSON, JSON belgelerinin ikili gösterimi anlamına gelir, ancak BSON, JSON’a kıyasla daha fazla veri türü içerir. Belge, alan-değer çiftleri veya anahtar-değer çiftleri kullanılarak oluşturulur ve alanın değeri herhangi bir BSON türünde olabilir.
Sözdizimi:
{ alan1: değer1 alan2: değer2 .... alanN: değerN }
Alanların adlandırma kısıtlaması:
Daha fazla ilerlemeden önce, alanlar için adlandırma kısıtlamalarını öğrenmelisiniz:
- Alan adları dizelerden oluşur.
- _id alan adı, birincil anahtar olarak kullanılmak üzere ayrılmıştır. Ve bu alanın değeri benzersiz, değişmez olmalı ve dizi dışında herhangi bir türden olabilir.
- Alan adı boş karakterler içeremez.
- Üst düzey alan adları dolar işaretiyle ($) başlamamalıdır.
Belge Boyutu: BSON belgesinin maksimum boyutu 16 MB’dir. Tek belgenin (iletim sırasında) çok fazla RAM veya bant genişliği kullanmamasını sağlar. Bir belge belirtilen boyuttan daha fazla veri içeriyorsa, MongoDB bu tür belgeleri depolamak için bir GridFS API’si sağlar.
Önemli notlar –
- Tek bir belge yinelenen alanlar içerebilir.
- MongoDB, _id alanı (her zaman ilk sırada yer alır) dışında her zaman belgelerdeki alanların sırasını kaydeder ve alanların yeniden adlandırılması belgelerdeki alanların sırasını değiştirebilir.
- _id Alanı: MongoDB’de, koleksiyondaki her belge deposu benzersiz bir _id alanı içermelidir, tıpkı ilişkisel bir veritabanındaki birincil anahtar gibidir. _id alanının değeri kullanıcı veya sistem tarafından ayarlanabilir (kullanıcı bir _id alanı oluşturmazsa, sistem _id alanı için otomatik olarak bir ObjectId oluşturur).
- Bir koleksiyon oluşturduğunuzda, MongoDB otomatik olarak _id alanında benzersiz bir dizin oluşturur .
- _id alanı, her belgenin ilk alanıdır.
- _id alanının değeri, diziler dışında herhangi bir BSON türünde olabilir.
- _id alanının varsayılan değeri ObjectId’dir.
Burada ad, dal, kurs ve ücretli alan, dize türündeki değerleri içerir. miktar alanı tamsayı tipinin değerini içerir ve _id alanı sistem tarafından oluşturulur.
Burada _id alanı kullanıcı tarafından oluşturulur.
İpucu: İşlevlere veri yapıştırırken, verileri işleve yapıştırdıktan sonra her zaman yakın parantez kullanın. Fonksiyona veri yapıştırmadan önce yakın parantez kullanırsanız, bir hata alırsınız.