Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Onur CANALP onurcanalp.com @06geek

Slide 3

Slide 3 text

• MongoDB Nedir? • MongoDB Kurulumu • MongoDB için GUI • MongoDB bağlantısı • MongoDB ile CRUD Neler Göreceğiz?

Slide 4

Slide 4 text

Ama Önce… MySQL Bilgimizi Gözden Geçirelim.. • SELECT • FROM • WHERE • ORDER BY • LIMIT • UPDATE - SET • DELETE

Slide 5

Slide 5 text

MongoDB Nedir?

Slide 6

Slide 6 text

MongoDB Nedir? • Şubat 2009 da hayatımıza girmiştir.. • MongoDB, C++ ile yazılmış açık kaynaklı ilişkisel olmayan ve önde gelen NoSQL veritabanıdır. • 32 ve 64 bitlik Windows,OSX,Linux, Unix , BSD sistemlerde çalışmaktadır. • Veriler, BSON döküman yapısında saklanır. • Büyük ölçekli uygulamalar için tasarlanmıştır. • Geo-Spatial Queries

Slide 7

Slide 7 text

NoSQL •Sabit Tablo Şeması Yoktur •Kompleks data yapıları •Yatay Ölçeklendirilebilme •Join ve Foreign Key kullanılmaz.. •….

Slide 8

Slide 8 text

NoSQL

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

MongoDB Hangi Dillerde Çalışabilir? • C , C# (.NET), C++ , ERLANG, HASKELL, JAVA, JavaScript, Ruby, PHP, Perl , Python , Node.JS

Slide 11

Slide 11 text

Terminoloji

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

MongoDB Kurulumu

Slide 14

Slide 14 text

MongoDB Kurulumu extension = mongo.so sudo apt-get install mongodb

Slide 15

Slide 15 text

MongoDB için GUI

Slide 16

Slide 16 text

• MongoHUB • MongoVUE • UMongo

Slide 17

Slide 17 text

Herşey Yolunda mı? Kodlara geçiyoruz hazır mısınız?

Slide 18

Slide 18 text

Array! (! [0] => Array! (! [_id] => 1! [numara] => 1! [adsoyad] => Muslera! )! ! [1] => Array! (! [_id] => 2! [numara] => 9! [adsoyad] => Burak Yılmaz! )! ! [2] => Array! (! [_id] => 3! [numara] => 11! [adsoyad] => Drogba! )! ! ) [{"_id":"1","numara":"1","adsoyad":"Muslera"}, {"_id":"2","numara":"9","adsoyad":"Burak Yılmaz"}, {"_id":"3","numara":"11","adsoyad":"Drogba"}] Datalarımızın Dizi Şeklinde Görüntüsü

Slide 19

Slide 19 text

MongoDB Bağlantısı

Slide 20

Slide 20 text

try  {            //  Mongo  Sunucusuna  bağlanalım            $mongo  =  new  Mongo('mongodb://127.0.0.1:27017');            /*             Eğer  Mongo  sunucunuzda  kimlik  doğrulama  özelliği  aktifse  bağlantı  satırını       aşağıdaki  şekilde  düzenleyebilirsiniz.                 $mongo  =  new  Mongo('mongodb://onur:[email protected]:27017');            */              //  Veritabanını  Seçelim            $db  =  $mongo-­‐>selectDB('mongOnur');     ! }  catch(MongoConnectionException  $e)  {            die('Baglanti  Hatası  :  '  .  $e-­‐>getMessage());       }

Slide 21

Slide 21 text

//  futbolcular  İsimli  Collection'ı  Seçelim     $futbolcularColl  =  new  MongoCollection($db,  'futbolcular');  

Slide 22

Slide 22 text

Nedir Bu Collection?

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

find();          $futbolcular_adet  =  $futbolcular-­‐>count();                    $id  =  $futbolcular_adet  +  1;          $adsoyad  =  $_POST['adsoyad'];          $numara  =  $_POST['numara'];              $adaminDibi  =  array('_id'=>$id,  'adsoyad'=>$adsoyad,  'numara'=>$numara);              $futbolcular-­‐>insert($adaminDibi);          echo  $adsoyad  .  '  kaydedildi..';       }   ?> CREATE - KAYIT

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

//  futbolcular  İsimli  Collection'ı  Seçelim     $futbolcularColl  =  new  MongoCollection($db,  'futbolcular');     ! //  Tüm  futbolcuları  cekelim.     $futbolcuListesi  =  $futbolcularColl-­‐>find();     ! //  Toplam  Futbolcu  Sayısı   echo  '

Toplam  Futbolcu  :  

'  .  $futbolcuListesi-­‐>count();         //  Çektiğimiz  kayıtları  listeleyelim.     foreach($futbolcuListesi  as  $futbolcu)  {            echo  $futbolcu['numara'].'  Numara,  '.$futbolcu['adsoyad'].'  
';       } READ - OKUMA

Slide 27

Slide 27 text

OKUMA Peki Ya Filtreleme?? $futbolcular-­‐>find();

Slide 28

Slide 28 text

Filtreleme $whereClause    =  array('adsoyad'  =>  'Drogba');     ! $futbolcuListesi  =  $futbolcularColl-­‐>find($whereClause);     ! foreach($futbolcuListesi  as  $futbolcu)  {            echo  $futbolcu['numara'].'  Numara,  '.$futbolcu['adsoyad'].'  
';       }

Slide 29

Slide 29 text

Okuma İşleminin Mantığı

Slide 30

Slide 30 text

Filtreleme ? Biraz Kafa Karıştıralım mı

Slide 31

Slide 31 text

Filtreleme - Karşılaştırma Operatörleri $gt   greater  >  $futbolcularColl.find(  {  qty:  {  $gt:  20  }  }  )   $gte   equal  or  greater  >=   $in   in  $futbolcularColl.find(  {  qty:  {  $in:  [  5,  15  ]  }  }  )   $lt   less  than  <   $lte   less  than  or  equal  <=   $ne   not  equal  !=  $futbolcularColl.find(  {  qty:  {  $ne:  20  }  }  )   $nin   not  exist  in  $futbolcularColl.find(  {  qty:  {  $nin:  [  5,  15  ]  }  }  ) $or     $futbolcularColl.find(  {  price:1.99,  $or:  [  {  qty:  {  $lt:  20  }  },  {  sale:  true  }  ]  }  )   ! $and   $futbolcularColl.find({  $and:  [  {  price:  1.99  },  {  qty:  {  $lt:  20  }  },  {  sale:  true  }  ]  }  )   ! $not   $futbolcularColl.find(  {  price:  {  $not:  {  $gt:  1.99  }  }  }  )   ! $nor   $futbolcularColl.find(  {  $nor:  [  {  price:  1.99  },  {  sale:  true  }  ]    }  ) Filtreleme - Mantıksal Operatörler

Slide 32

Slide 32 text

Limit $futbolcuListesi  =  $futbolcularColl-­‐>find()-­‐>skip(1)-­‐>limit(10);     foreach($futbolcuListesi  as  $futbolcu)  {            echo  $futbolcu['numara'].'  Numara,  '.$futbolcu['adsoyad'].'  
';       } Order By $futbolcuListesi  =  $futbolcularColl-­‐>find()-­‐>skip(5)-­‐>limit(10)-­‐>sort($orderBy);     foreach($futbolcuListesi  as  $futbolcu)  {            echo  $futbolcu['numara'].'  Numara,  '.$futbolcu['adsoyad'].'  
';       } $orderBy = array('numara' => 1); // (1 : ASC , -1 : DESC) $ ->sort($orderBy)

Slide 33

Slide 33 text

UPDATE $id);          $futbolcu  =  $futbolcularColl-­‐>findOne($query);                      $futbolcu['adsoyad']  =  $adsoyad;          $futbolcu['numara']  =  $numara;          $futbolcularColl-­‐>save($futbolcu);                      echo  'Güncelleme  İşlemi  Başarılı!';               }   ?>

Slide 34

Slide 34 text

DELETE remove(array(‘_id'  =>”$id”));              echo  'Silme  İşlemi  Başarılı!';             }   ?>

Slide 35

Slide 35 text

İşimiz bitti.. Bağlantımızı Kapatalım  $mongo-­‐>close();

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

Yorulduk mu??$ ! Hadi Gördüklerimizi Hızlıca Hatırlayalım… NoSQL JSON Mongo.so GUI (MongoHub) $mongo-­‐>selectDB new  Mongo new  MongoCollection($db,  'futbolcular') $futbolcularColl-­‐>find() $futbolcular-­‐>count() $futbolcular-­‐>insert(ARRAY) $futbolcularColl-­‐>find()-­‐>skip(5)-­‐>limit(10)-­‐>sort($orderBy)        $futbolcu  =  $futbolcularColl-­‐>findOne($query);          $futbolcularColl-­‐>save($futbolcu);          $futbolcularColl-­‐>remove(array(‘_id'  =>”$id”));  

Slide 38

Slide 38 text

• mongodb.org • http://www.php.net/manual/en/class.mongodb.php • http://en.wikipedia.org/wiki/MongoDB Daha Detaylı Bilgi İçin

Slide 39

Slide 39 text

Teşekkürler Onur CANALP onurcanalp.com @06geek