Pythontr

husonet | Tarih: 14.05.2013

MongoDB nedir? Nasıl kullanılır?

MongoDB Döküman tabanlı, Yönetilebilir Veritabanı Uygulaması

MongoDB nedir?


MongoDB, C++ programlama dili ile geliştirilmiş, ölçeklenebilir, doküman tabanlı , NoSQL bir veritabanı uygulamasıdır. MongoDB, MongoDB şirketi tarafından geliştirilen açık kaynak kodlu bir veritabanıdır. İlişkisel veritabanlarından çok daha esnek ve kullanımı kolaydır.


İlişkisel veritabanları çok iyi ölçeklenebilir ancak gelişim sırasında çok fazla değişiklik olması durumunda çok esneklik sağlamazlar.

MongoDB, verileri JSON benzeri belgelerde saklar, bu veriler üzerinde hızlı sorgulama yapmanız için tasarlanmıştır. MongoDB, dinamik şemalar kullanır; yani alan isimleri veya veri türleri gibi yapıyı ilk tanımlamadan kayıtlar oluşturabilirsiniz.


Kayıtların yapısını (belgeler dediğimiz) yalnızca yeni alanlar ekleyerek veya mevcut alanları silerek değiştirebilirsiniz. Bu veri modeli, hiyerarşik ilişkileri, dizileri depolamak ve diğer daha karmaşık yapıları kolayca gösterebilme becerisi kazandırır. Bir koleksiyon içindeki belgelerde aynı alan kümesine ihtiyaç yoktur ve verilerin denormalizasyonu "normalleştirilmişlikten çıkarmak" yaygın bir şekle sahiptir. MongoDB aynı zamanda yüksek erişilebilirlik ve ölçeklenebilirlik düşünülerek tasarlanmıştır.



MongoDB Kullanımı


# Mongo

Aktif Database Döndürür
-------------------------------------------------------------------------------
db

Database listesi
-------------------------------------------------------------------------------
show dbs

Kullanılacak database degistirme
-------------------------------------------------------------------------------
use mydb

Yeni Database Olusturma
-------------------------------------------------------------------------------
use husonet
db.users.save( {username:"huso"} )
show dbs

Yardım
-------------------------------------------------------------------------------
help

Collection ları listeleme
-------------------------------------------------------------------------------
show collections

Collection - Table olusturma
-------------------------------------------------------------------------------
db.createCollection('haberler')

Ekleme - Update(_id) save
-------------------------------------------------------------------------------
db.test.save( { "PersonelTipi":1, "Ad" : "Hüseyin", "Soyad" : "Özcelik"  } )
db.test.save( { "PersonelTipi":1, "Ad" : "Birgün", "Soyad" : "Özcelik" } )
db.test.save( { "PersonelTipi":1, "Ad" : "Hasan", "Soyad" : "Soysal" } )
db.test.save( { "PersonelTipi":1, "Ad" : "Yasemin", "Soyad" : "Soysal" } )
db.test.save( { "PersonelTipi":1, "Ad" : "Arzu", "Soyad" : "Demir" } )


Arama - find
-------------------------------------------------------------------------------
db.test.find( {"PersonelTipi":1} )
db.test.find( {"PersonelTipi":1, "Ad":"Hüseyin"} )


Arama - find - regex
------------------------------------------------------------------------------
db.test.find({"Ad":/sey/i})

Sıralama
-------------------------------------------------------------------------------
ASC
db.test.find( {"PersonelTipi":1} ).sort({"Ad": 1})
DESC
db.test.find( {"PersonelTipi":1} ).sort({"Ad": -1})


pretty
-------------------------------------------------------------------------------
db.test.find( {"PersonelTipi":1} ).sort({"Ad": 1}).pretty()


silme
-------------------------------------------------------------------------------
db.test.remove( <query>, <justOne> )
db.test.remove( {'_id':'1'} )
# ilk karakteri G ile başlayanları uçur
db.test.remove( { 'name.first' : /^G/ } )

# Dokumanlar
-------------------------------------------------------------------------------
http://docs.mongodb.org/manual/single/index.html

İlgili konular: python ve mongodb kullanımı