Docker kullanarak MongoDB veritabanını kolayca başlatabilir ve test edebilirsiniz.
docker run --name mongodb-container -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password mongo
-d
: Arka planda çalıştırma.-p 27017:27017
: Port yönlendirme (host:container).--name mongodb
: Container adı.mongo
: Kullanılacak imaj.Mongo Compass, MongoDB veritabanlarını görsel bir arayüzle yönetmenizi sağlar.
use sosyalmedya
db.createCollection("kullanicilar")
db.kullanicilar.insertOne({
isim: "Ahmet",
email: "ahmet@acikunviersite.org",
yas: 25
})
Tüm Kullanıcıları Getir:
db.kullanicilar.find()
Belirli Kullanıcıları Getir:
db.kullanicilar.find({ isim: "Ahmet" })
db.kullanicilar.updateOne(
{ isim: "Ahmet" },
{ $set: { yas: 26 } }
)
db.kullanicilar.deleteOne({ isim: "Ahmet" })
db.kullanicilar.insertOne({
isim: "Mehmet",
email: "mehmet@acikuniversite.org",
yas: 30,
ilgiAlanlari: ["Yüzme", "Müzik", "Kitap Okuma"]
})
ve dizi içinde arama yapabiliriz:
db.kullanicilar.find({ ilgiAlanlari: "Yüzme" })
db.kullanicilar.insertOne({
isim: "Ayşe",
email: "ayse@acikuniversite.org",
yas: 28,
adres: {
il: "İstanbul",
ilce: "Kadıköy",
mahalle: "Moda"
}
})
aynı şekilde döküman içinde arama yapabiliriz:
db.kullanicilar.find({ "adres.il": "İstanbul" })
db.kullanicilar.find().sort({ yas: -1 }).limit(2)
db.kullanicilar.count()
db.kullanicilar.createIndex({ isim: "text" })
db.kullanicilar.find({ $text: { $search: "Ahmet" } })
Karşılaştırma Operatörleri: $eq
, $ne
, $gt
, $gte
, $lt
, $lte
db.kullanicilar.find({ yas: { $gte: 25 } })
Mantıksal Operatörler: $and
, $or
, $not
db.kullanicilar.find({ $and: [{ yas: { $gte: 25 } }, { yas: { $lte: 30 } }] })
Dizi Operatörleri: $in
, $nin
, $all
db.kullanicilar.find({ ilgiAlanlari: { $in: ["Yüzme", "Müzik"] } })
Eleman Operatörleri: $exists
, $type
db.kullanicilar.find({ adres: { $exists: true } })
Hangi alanların getirileceğini belirlemek için projeksiyon kullanılır.
db.kullanicilar.find({durum: "aktif"}, {_id: 0, isim: 1, email: 1})
db.kullanicilar.createIndex({ isim: "text" })
db.kullanicilar.find({ $text: { $search: "Ahmet" } })
db.kullanicilar.createIndex({ konum: "2dsphere" })
db.kullanicilar.find({
konum: {
$near: {
$geometry: {
type: "Point",
coordinates: [29.012, 41.012]
},
$maxDistance: 1000
}
}
})