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

Leave a Reply