MongoDB Cheat Sheet

Alparslan akkan
3 min readJul 11, 2024

--

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 } })

--

--

Alparslan akkan

Tech-savvy software engineer. I love exploring new technologies, writing, reading articles,and constantly improving myselfAlways on thehunt for thenext big idea