MongoDB Cheat Sheet
Tüm Veri Tabanını Göster
show dbs
Bu komut MongoDB’de mevcut olan tüm veritabanlarını listeler.
Mevcut Veri Tabanını Göster
db
Bu komut şu anda aktif olan veritabanını gösterir.
Veri Tabanı Oluştur veya Değiştir
use acme
Bu komut acme adında yeni bir veritabanı oluşturur veya mevcut bir veritabanına geçiş yapar.
Mevcut Veri Tabanını Sil
db.dropDatabase()
Bu komut aktif olan veritabanını siler. Dikkatli kullanılmalıdır, çünkü veriler kalıcı olarak kaybolabilir.
Yeni Tablo Oluştur
db.createCollection('posts')
Bu komut posts adında yeni bir koleksiyon oluşturur.
Veri Tabanındaki Tabloları Göster
show collections
Bu komut mevcut veritabanındaki tüm koleksiyonları listeler.
Veri Ekle
db.posts.insert({
title: 'Post One',
body: 'Body of post one',
category: 'News',
tags: ['news', 'events'],
user: {
name: 'John Doe',
status: 'author'
},
date: Date()
})
Bu komut posts koleksiyonuna yeni bir belge ekler.
Birden Fazla Veri Ekle
db.posts.insertMany([
{
title: 'Post Two',
body: 'Body of post two',
category: 'Technology',
date: Date()
},
{
title: 'Post Three',
body: 'Body of post three',
category: 'News',
date: Date()
},
{
title: 'Post Four',
body: 'Body of post three',
category: 'Entertainment',
date: Date()
}
])
Bu komut posts koleksiyonuna birden fazla belge ekler.
Tüm Verileri Getir
db.posts.find()
Bu komut posts koleksiyonundaki tüm belgeleri getirir.
Tüm Verileri Düzenli Halde Getir
db.posts.find().pretty()
Bu komut posts koleksiyonundaki tüm belgeleri düzenli bir şekilde getirir.
Verileri Bul
db.posts.find({ category: 'News' })
Verileri Belirli Bir Şarta Göre Getir
db.posts.find({ category: 'News' })
Bu komut posts koleksiyonundaki category alanı ‘News’ olan belgeleri getirir.
Verileri Sırala
# asc
db.posts.find().sort({ title: 1 }).pretty()
# desc
db.posts.find().sort({ title: -1 }).pretty()
Bu komut posts koleksiyonundaki belgeleri belirli bir sıraya göre getirir.
Verileri Say
db.posts.find().count()
db.posts.find({ category: 'news' }).count()
Bu komut posts koleksiyonundaki belgelerin sayısını hesaplar.
Verileri Sınırla
db.posts.find().limit(2).pretty()
Bu komut posts koleksiyonundan en fazla 2 belge getirir.
Chaining
db.posts.find().limit(2).sort({ title: 1 }).pretty()
Bu komut posts koleksiyonundan en fazla 2 belgeyi sıralayarak getirir.
Foreach
db.posts.find().forEach(function(doc) {
print("Blog Post: " + doc.title)
})
Bu komut posts koleksiyonundaki her belge için belirli bir işlem yapar.
Bir Tane Veri Bul
db.posts.findOne({ category: 'News' })
Belirli Bir Belgeyi Güncelle
db.posts.update({ title: 'Post Two' },
{
$set: {
body: 'New body for post 2',
category: 'Technology'
}
})
Bu komut posts koleksiyonunda title alanı ‘Post Two’ olan belgenin body ve category alanlarını günceller.
Belirli Alanları Bul
db.posts.find({ title: 'Post One' }, {
title: 1,
author: 1
})
Satırları Güncelle
db.posts.update({ title: 'Post Two' },
{
title: 'Post Two',
body: 'New body for post 2',
date: Date()
},
{
upsert: true
})
Belirli Alanı Güncelle
db.posts.update({ title: 'Post Two' },
{
$set: {
body: 'Body for post 2',
category: 'Technology'
}
})
Alanı Arttırma ($inc)
db.posts.update({ title: 'Post Two' },
{
$inc: {
likes: 5
}
})
Bu komut posts koleksiyonunda title alanı ‘Post Two’ olan belgenin likes alanını 5 artırır.
Alanı Yeniden Adlandır
db.posts.update({ title: 'Post Two' },
{
$rename: {
likes: 'views'
}
})
Bu komut posts koleksiyonunda title alanı ‘Post Two’ olan belgenin likes alanını views olarak yeniden adlandırır.
Satırı Sil
db.posts.remove({ title: 'Post Four' })
Alt Belgeler
db.posts.update({ title: 'Post One' },
{
$set: {
comments: [
{
body: 'Comment One',
user: 'Mary Williams',
date: Date()
},
{
body: 'Comment Two',
user: 'Harry White',
date: Date()
}
]
}
})
Dizideki Öğeye Göre Bul ($elemMatch)
db.posts.find({
comments: {
$elemMatch: {
user: 'Mary Williams'
}
}
}
)
Index Ekle
db.posts.createIndex({ title: 'text' })
Metin Ara
db.posts.find({
$text: {
$search: "\"Post O\""
}
})
Büyük veya Küçük
db.posts.find({ views: { $gt: 2 } })
db.posts.find({ views: { $gte: 7 } })
db.posts.find({ views: { $lt: 7 } })
db.posts.find({ views: { $lte: 7 } })