Mongo Shell ile Veritabanı İşlemleri

0 3,240

Mongo Shell

MongoDB ile bağlantı kurup veritabanı işlemleri yapabildiğimiz JavaScript tabanlı bir uygulamadır.

<$MONGODB-HOME>/bin/mongo komutu ile çalıştırırız. Şimdi komutu çalıştıralım shell üzerinden veritabanı işlemlerini bir kütüphane veritabanı üzerinden incelemeye başlayalım.

Veritabanı komutları

Mongo Shell çalıştığında varsayılan veritabanına bağlanır. Eğer farklı bir veritabanına geçmek istersek;

use DBNAME

komutunu kullanırız. Bu komut verilen isimde bir veritabanı yok ise oluşturur. Yani bu komut hem veritabanı değiştirmek hem de oluşturmak için kullanılır.

db

komutu ile bağlı bulunduğumuz veritabanını öğreniriz.

show dbs

komutu ile tüm veritabanlarını listeleriz. Bir veritabanı oluşturduktan sonra, listede veritabanını göremeyiz. Görebilmek için veritabanına en az bir doküman eklemek gerekir.

db.dropDatabase()

komutu ile bağlı olduğumuz veritabanını sileriz.

Şimdi sırası ile tüm komutları kullanalım.

1* test isimli bir veritabanı oluşturalım.

2* Veritabanlarını listeleyelim.

test isimli veritabanını listede göremedik. Şimdi basit bir insert yapalım ve tekrardan veritabanlarını listeleyelim.

Artık veritabanımızı listede görebiliyoruz.

3* Bağlı olduğumuz  veritabanını öğrenelim.

4* test isimli veritabanını silelim.

Shell kullanırken tab’a basarak metotların isimlerini tamamlayabilir ve benzer metotları listeleyebiliriz.

Koleksiyon komutları

db.createCollection(name, options)

komutu ile yeni bir koleksiyon oluştururuz.

name String Koleksiyonun ismi
options Document  Koleksiyon ile ilgili opsiyonel özellikleri içerir

Options 4 fielddan oluşan bir dokümandır.

capped Boolean Varsayılan değeri false’dur. True olması, koleksiyonun belirli bir büyüklükte olması anlamına gelir. Maksimum olduğunda, yeni girilen veriler eski verilerin üzerine yazılır. True yapılırsa, size değerininde verilmesi gerekir
autoIndexID Boolean Varsayılan değeri false’dur. True olması, _id alanında otomatik index’in oluşturulması demektir.
size number byte olarak maksimum büyüklük değerini gösterir. Capped true ise bu alan verilmek zorundadır.
max number  maksimum doküman sayısını belirleyen değerdir. Capped koleksiyonlar için geçerlidir.

show collections

komutu ile veritabanındaki koleksiyonları listeleriz.

db.collectionName.drop()

komutu ile koleksiyonu sileriz.

Şimdi sırası ile tüm komutları kullanalım.

1* personel ve department isimli iki koleksiyon oluşturalım.

2* veritabanındaki koleksiyonları listeleyelim.

3* department isimli koleksiyonu silelim ve tekrardan koleksiyonları listeleyelim.

CRUD Komutları

library isimli bir veritabanı ve books isimli bir koleksiyon oluşturalım.

1* Insert
db.collectionName.insert(document)

db.collectionName.insert([document,document])

komutu ile koleksiyona doküman ekleriz. Doküman dizisi göndererek çoklu doküman ekleyebiliriz.

Bu komutlar ile koleksiyonumuza üç doküman eklemiş oldu.

db.collectionName.save(document)

komutu ile, eğer dokümanın _id değeri yok ise ekleme, var ise güncelleme işlemi yapılır.

2*Update

db.collectionName.update(SELECTION_CRITERIA, UPDATED_DATA)

db.collectionName.save(document)

db.collectionName.save(_id:ObjectId(), document)

update() komutu ile, belli bir kriter verip, sadece ilgili alanı güncelliyoruz. save() komutu ise, eski dokümanı yeni doküman ile değiştirir.

books koleksiyonunda name değeri Kaos olan dokümanların name değerlerini KAOS olarak günceller. Güncelleme işlemi tek bir doküman üzerinde yapılır. Eğer çoklu güncelleme istersek,

komutunu çalıştırırız.

3*Remove

db.collectionName.remove()

koleksiyondaki tüm kayıtları siler

db.collectionName.remove(DELETION_CRITERIA)

koleksiyonda, kriterlere uyan dokümanları siler.

db.collectionName.remove(DELETION_CRITERIA,1)

koleksiyonda, kriterlere uyan ilk dokümanı siler.

Örnek olarak dummy bir koleksiyona dört adet doküman insert edelim ve silme komutlarının kullanımlarını görelim.

Not: dummy isimli bir koleksiyon oluşturmadık. Insert komutu ile kullandığımız koleksiyon yok ise, mongodb bizim için oluşturur.

İlk olarak koleksiyonumuzda bulunan dokümanları listeleyelim.

1* title değeri Spring olan tek bir kayıtı silelim ve tekrardan listeleme yapalım.

2* Tüm dokümanları silelim.

İnşallah faydalı bir yazı olmuştur. MongoDB ile alakalı başka yazılarda görüşmek üzere.

İyi Çalışmalar

 

Email adresiniz yayınlanmayacaktır.