Temel Kullanım
Bu bölümde MongoDB'ye nasıl bağlanılacağı ve temel veritabanı/koleksiyon işlemlerinin (veri ekleme, sorgulama, güncelleme, silme vb.) nasıl yapılacağı anlatılacaktır.
Bağlantı Kurma (mongosh)
mongosh)MongoDB ile etkileşim kurmak için modern komut satırı aracı mongosh'tur (eski araç mongo idi).
Yerel Sunucuya Bağlanma: Eğer MongoDB sunucusu yerelde çalışıyorsa ve kimlik doğrulama kapalıysa, doğrudan
mongoshkomutu ile bağlanabilirsiniz:mongoshBu komut varsayılan olarak
mongodb://127.0.0.1:27017adresine bağlanır vetestveritabanını kullanır.Belirli Bir Sunucuya ve Porta Bağlanma: Farklı bir sunucuya veya porta bağlanmak için bağlantı dizesi (connection string) kullanılır:
mongosh "mongodb://sunucu_adresi:port"Kimlik Doğrulama ile Bağlanma: Eğer kimlik doğrulama (
security.authorization: enabled) aktifse, kullanıcı adı, parola ve kimlik doğrulama veritabanını belirtmeniz gerekir:mongosh "mongodb://kullanici_adi:parola@sunucu_adresi:port/?authSource=admin"Not:
authSourcegenellikle kullanıcıların tanımlandığı veritabanıdır (çoğunluklaadmin).
Temel mongosh Komutları
mongosh Komutlarımongosh kabuğu içindeyken JavaScript benzeri bir sözdizimi ve özel komutlar kullanılır.
Veritabanlarını Listeleme:
show dbsMevcut Veritabanını Gösterme:
dbVeritabanı Değiştirme/Oluşturma: Olmayan bir veritabanı adı kullanıldığında, içine ilk veri eklendiği anda otomatik olarak oluşturulur.
use yeni_veritabaniKoleksiyonları (Collections) Listeleme:
show collectionsYardım:
helpÇıkış:
exit // veya quit()
Temel Veri İşlemleri (CRUD)
MongoDB'de veriler BSON (Binary JSON) formatında dökümanlar olarak saklanır ve bu dökümanlar koleksiyonlar içinde gruplanır.
Veri Ekleme (Create):
insertOne()(tek döküman) veyainsertMany()(çoklu döküman) kullanılır.// 'urunler' adında bir koleksiyona tek bir döküman ekleme db.urunler.insertOne({ adi: "Laptop", fiyat: 1500, kategori: "Elektronik" }) // Birden fazla döküman ekleme db.urunler.insertMany([ { adi: "Klavye", fiyat: 75, kategori: "Aksesuar" }, { adi: "Monitor", fiyat: 300, kategori: "Elektronik" } ])Eğer
urunlerkoleksiyonu yoksa, ilk ekleme işleminde otomatik olarak oluşturulur.Veri Okuma (Read):
find()(tüm eşleşenleri bulur) veyafindOne()(ilk eşleşeni bulur) kullanılır. Filtreleme için sorgu dökümanları kullanılır.// 'urunler' koleksiyonundaki tüm dökümanları bulma db.urunler.find() // Kategori'si "Elektronik" olan ürünleri bulma db.urunler.find({ kategori: "Elektronik" }) // Fiyatı 100'den büyük olan ürünleri bulma ($gt: greater than) db.urunler.find({ fiyat: { $gt: 100 } }) // Sadece ilk eşleşen elektronik ürünü bulma db.urunler.findOne({ kategori: "Elektronik" })find()sonucu bir imleç (cursor) döndürür. Tüm sonuçları görmek için genellikle.pretty()metodu eklenir:db.urunler.find().pretty()Veri Güncelleme (Update):
updateOne()(ilk eşleşeni günceller) veyaupdateMany()(tüm eşleşenleri günceller) kullanılır. İlk argüman filtre, ikinci argüman güncelleme operatörlerini içeren dökümandır ($set,$incvb.).// 'Laptop' ürününün fiyatını güncelleme db.urunler.updateOne( { adi: "Laptop" }, { $set: { fiyat: 1450, stok: 10 } } // fiyat'ı değiştir, stok alanını ekle ) // Tüm Aksesuar kategorisindeki ürünlerin fiyatını %10 artırma ($mul: multiply) db.urunler.updateMany( { kategori: "Aksesuar" }, { $mul: { fiyat: 1.10 } } )Veri Silme (Delete):
deleteOne()(ilk eşleşeni siler) veyadeleteMany()(tüm eşleşenleri siler) kullanılır. Argüman olarak filtre dökümanı alır.// 'Klavye' ürününü silme db.urunler.deleteOne({ adi: "Klavye" }) // Fiyatı 300'den düşük olan tüm ürünleri silme ($lt: less than) db.urunler.deleteMany({ fiyat: { $lt: 300 } })
Last updated