- Posted on
- Comments 0
MongoDB-CRUD ve Komutlar Örnek-Part-1
Merhaba Arkadaşlar ,
Bu yazımızda MongoDB CRUD işlemlerinden bahsedeceğim. Bu sırada konsolu aynı şekilde takip ederseniz. İşinize yarıyacak temel komutları da görmüş olacağız.
Import
-
mongoimport -d students -c grades < grades.js
-d : database ismi , -c : collection adı ve import edilecek dosya
-
use students
client’in bağlanacağı db’yi değiştir
Insert
-
db.grades.insert({test : 'deneme'})
Update
-
db.grades.update()
Find(Select)
-
db.grades.find()
-
db.grades.find({$where: "this.score > 65"})
-
db.grades.find({$where: "this.score > 65"}).sort({score : 1})
-
db.grades.find({type:'exam'})
Yukarıdaki örneklerden gördüğünüz gibi çok esnek bir kullanım var. Önemli olduğunu düşündüğüm diğer bir kullanım şeklide büyüktür , küçüktür eğer where clauses kullanmıyorsanız. Aşağıdaki gibi ‘$gt’ büyüktür ve ‘$lt’ küçüktür.
-
db.grades.find({score : {$gt :45 , $lt : 50}})
Bunlar tamam anladık ama büyüktür ve küçüktür nasıl olacak dediğinizi duyar gibi oldum. :)) Bu kullanım için ‘$gte’ ve ‘$lte’ tanımlamaları var. Aşağıdaki gibi kullanarak “greater and equals” şeklinde bir tanımlama yapabilirsiniz.
-
db.grades.find({score : {$gte :90 , $lte: 80}})
Bu kullanım ek bir avantajı daha var oda stringlerde kullanılması. Örnek olarak ‘M’ harfinden sonra gelen illeri listeleyebiliriz.
-
db.city.find({name : {$gt : 'M'}})
Count
-
db.grades.count()
Regex
Arama işlemlerinde çok işimize yarayan özellik kesinlikle bu , kullanımı da regex biliyorsanız elbette basit :)) Örneğimde A harfi ile başlayan kayıtları getiren regex sorgu örneği bulunuyor.
-
db.students.find({name : {$regex : "^A"}})
Or, And , Exist
Kullanım olarak şimdiye kadar verdiğim örnklere benzediği için tek bir sorguda toplamak istedim.
-
db.scores.find( { $or : [ { score : { $lt : 50 } }, { score : { $gt : 90 } } ] } ) ;
Pretty
Console işlemleri yaparken veya debug sırasında anlamsız ve göz yoran parantezlerden kurtulmanın yolu pretty() methodu. Bu method sayesinde aşağıdaki gibi okunabilir sonuçlar görebilirsiniz.
-
db.grades.find().pretty() Çıktı // /* 0 */ { "_id" : ObjectId("50906d7fa3c412bb040eb58b"), "student_id" : 5, "type" : "exam", "score" : 49.41260067227861 } /* 1 */ { "_id" : ObjectId("50906d7fa3c412bb040eb5bc"), "student_id" : 17, "type" : "quiz", "score" : 49.96929616916231 }
Muharrem Tığdemir