MongoDB Shell Komutları

Esmanur KILIÇ
baakademi
Published in
4 min readOct 25, 2020

MongoDB; MongoDB Inc. tarafından ölçeklenebilir, doküman tabanlı, C++ ile geliştirilmiş açık kaynak, NoSQL veri tabanı uygulamasıdır. MongoDB, verileri JSON tipinde dokümanlarda saklamaktadır, anlamsal alanları dokümandan dokümana değişir ve veri yapısı zaman içinde değiştirilebilir.

SHELL KOMUTLARI

TEMEL iŞLEMLER

db: Kullanılan veri tabanını görüntülemek için kullanılan komuttur. Kullanımı:

db

use: Yeni bir veri tabanı oluşturmak veya var olan başka bir veri tabanını kullanmamızı sağlayan komuttur. Kullanımı:

use <database>

createCollection: Koleksiyon oluşturmak için kullanılır. Önce istediğimiz veri tabanının içine girip daha sonra o veri tabanına koleksiyonun ismini vererek yeni bir koleksiyon oluşturmuş oluruz. Kullanımı:

use <database>
db.createCollection(“collection_name”)

dropDatabase(): Kayıtlı olan veri tabanını silmek için kullanılır. Önce silmek istediğimiz veri tabanının içerisine girip daha sonra sileriz. Kullanımı:

use <database>
db.dropDatabase()

drop(): Veri tabanında var olan koleksiyonu silmek için kullanılır. Kullanımı:

db.collection_name.drop()

show: Veri tabanlarını veya koleksiyonları listemelek için kullanılır. Böylece kayıtlı olan veri tabanları ve boyutları, koleksiyonlar listelenir. Kullanımı:

show databases
show collections

VERİ EKLEME İŞLEMLERİ

db.collection.insert(): Koleksiyona veri eklemek için kullanılır. Eklenmesi istenen koleksiyonun adı verilir ve JSON formatında bir veri verilir. Kullanımı:

db.collection_name.insert(
{ id:1,
name: "Esmanur",
surname: "KILIÇ",
age: 23,
}
)

db.collection.insertOne(): Koleksiyona tek bir veri eklemek için kullanılır. Eklenmesi istenen koleksiyonun adı verilir ve JSON formatında veri yazılır. Kullanımı:

db.collection_name.insertOne(
{ id:1,
name: "Esmanur",
surname: "KILIÇ",
age: 23,
}
)

db.collection.insertMany(): Koleksiyona birden fazla veri eklemek için kullanılır. Eklenmesi istenen koleksiyonun adı verilir ve eklenmek istenen JSON formatında veriler verilir. Kullanımı:

db.collection_name.insertMany(
{ id:2,
name: "Abdullah",
surname: "ŞİMŞEK",
age: 27 ,
}
{ id:3,
name: "Elif",
surname: "YILDIZ",
age: 23,
}
)

SORGU İŞLEMLERİ

db.collection.find(): Koleksiyon içerisindeki verileri seçmek için kullanılır. Parantez içerisi boş bırakılırsa tüm verileri seçer:

db.collection_name.find( {} )

Eğer koşul belirtirsek koşula uygun alanları seçer. Örneğin name alanı Esmanur olanları seçme işlemi:

db.collection_name.find( {"name":"Esmanur"} )

in[]:Verilen alana bakar ve belirtilen değerler içerisinde geçenleri seçer. Örneğin name alanında A ve E geçenleri seçme işlemi:

db.collection_name.find( { "name": { $in: [ "A", "E" ] } } )

and: Seçilmesi istenen veriye birden fazla koşulu ve ile bağlayabiliriz. Koşullar arasına virgül koymak yeterlidir. Örneğin name’i Esmanur ve age’si 25'ten küçük olanları seçme işlemi:

db.collection_name.find( { "name": "Esmanur", "age": { $lt: 25} } )

or: Seçilmesi istenen veriye birden fazla koşulu veya ile bağlayabiliriz. Örneğin name’i Esmanur veya age’si 25'ten küçük olanları seçme işlemi:

db.collection_name.find({$or:[{"name":"Esmanur"},{"age":{ $lt:25}} ]})

$lt: Verinin istenen koşuldan küçük olanlarını almaya yarar.

$gt: Verinin istenen koşuldan büyük olanlarını almaya yarar.

Örneğin age alanı 15'ten büyük 25'ten küçük olanları seçme işlemi:

db.collection_name.find( { "age": { $gt: 15, $lt: 25 } } )

VERİ GÜNCELLEME İŞLEMLERİ

db.collection.update():Koleksiyon içerisindeki verileri güncellemek için bu komut kullanılır. Önce hangi kaydı güncellemek istediğimiz belirtilir. Ardından ise hangi alanı güncellemek istediğimiz belirtilir. Örneğin id’si 2 olanın name’ini Mehmet olarak günceller:

db.collection_name.update(
{"id": 2},
{$set: {"name": "Mehmet"}
})

db.collection.updateOne(): Koleksiyonda tek bir veriyi güncellemek için kullanılır. Örneğin name’i Esmanur olan ilk verinin name’ini Ayşe olarak günceller:

db.collection_name.updateOne(
{"name": "Esmanur"},
{$set: {"name": "Ayşe"}
})

db.collection.updateMany(): Koleksiyonda birden fazla veriyi güncellemek için kullanılır. Tüm verilerin surname’i KILIÇ yapmak istersek koşul belirtmeden hepsini güncelleye biliriz:

db.collection_name.updateMany(
{},
{$set: {"surname": "KILIÇ"}
})

Age’si 25'ten küçük olan tüm verilerin name’ini Ayşe olarak günceller:

db.collection_name.updateMany(
{"age": { $lt: 25 }},
{$set: {"name": "Ayşe"}
})

db.collection.findOneUpdate(): Koleksiyon içerisindeki ilk veriyi yakalar ve onu günceller. Age alanı 23 olan ilk veriyi yakalar ve name alanını Ayşe olarak günceller.:

db.collection_name.findOneUpdate( {"age":23},{$set :{ "name":"Ayşe"} )

db.collection.replaceOne(): id alanı dışında bir verinin tüm içeriğini değiştirmek için kullanılır. Değiştirilen alanlar öncekiyle aynı olmayabilir yani alanlar eklenip çıkarılabilir. Başta değiştirilmek istenen verinin id’si belirtilir daha sonra yeni veri yazılır.

db.collection_name.replaceOne(
{ "id": "1" },
{ "id": "1",
city: [
{ name: "İstanbul"},
{ name: "Ankara"} ]
})

VERİ SİLME İŞLEMLERİ

db.collection.remove():Bir koleksiyon içerisindeki veriyi silmek için kullandığımız komuttur. Silinmesi istenen verinin koşulu verilir ve ona göre silme işlemi yapılır. Eğer koşul belirtmezsek tüm veriler silinir.

db.collection_name.remove({})

Örnek olarak id’si 1 olan veriyi sil:

db.collection_name.remove({"id":1})

db.collection.deleteOne(): Bir koleksiyon içerisindeki verilen koşula göre eşleşen tek veriyi siler. Age alanı 23 olan tek veri silinir:

db.collection_name.deleteOne( { "age": 23} )

db.collection.deleteMany(): Bir koleksiyon içerisindeki verilen koşula göre eşleşen tüm verileri siler. Age alanı 23 olan tüm veriler silinir:

db.collection_name.deleteMany( { "age": 23} )

db.collection.findOneDelete(): Koleksiyon içerisindeki ilk veriyi yakalar ve onu siler. Age alanı 23 olanak ilk veriyi yakalar ve siler:

db.collection_name.findOneDelete( {"age":23} )

KAYNAKLAR

https://tr.wikipedia.org/wiki/MongoDB

--

--