"MongoDB" kategorisindeki yazılar

MongoDB ve PHP Tarih işlemleri

Belirli bir formatta tarih gösterme;

date('d M Y h:i:s', $obj["tarih"]->sec)

Tarih Aralığına Göre İçerik Çekme

$dbhost = 'localhost';
$dbname = 'newDB';
$m = new Mongo("mongodb://$dbhost");
$con = $m->$dbname->yazi;

$baslama 	= new MongoDate(strtotime("2013-05-25 00:00:00"));
$bitis 		= new MongoDate(strtotime("2013-05-27 00:00:00"));

$goster = $con->find(array("tarih" => array('$gt' => $baslama, '$lte' => $bitis)));
	foreach($goster as $obj){
		echo date('d M Y h:i:s', $obj["tarih"]->sec) ."
";
		}

Detaylı olarak php.net üzerinden inceleyebilirsiniz http://us1.php.net/manual/en/class.mongodate.php

MongoDB ve PHP ile Basit Form İşlemi

Standart PHP kodları çok fazla bi değişiklik yok, örneği detaylı incelediğinizde daha iyi anlayacaksınız.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MongoDB ile Form</title>
</head>
<body>
<?php
	//Bağlantıyı Açalım
	$dbhost = 'localhost';
	$dbname = 'newDB';
	$m = new Mongo("mongodb://$dbhost");
	$con = $m->$dbname->yazi;
if($_GET["sayfa"]=="kaydet"){
		$icerik = array(
			'isim'	=> $_POST["baslik"],
			'ilk'	=> $_POST["yazi"],
			'tarih'	=> new MongoDate()
		);
	$con->save($icerik);
	echo "eklendi <br />";
}
?>

<form id="form1" name="form1" method="post" action="?sayfa=kaydet">
  Başlık: <input type="text" name="baslik" value="" /><br />
  Yazı <textarea name="yazi" cols="25" rows="4"></textarea><br />
  <input name="yolla" value="Gönder" type="submit" />
</form>
<?php
$goster = $con->count();
echo "Toplam ".$goster." tane içerik mevcut";
?>
</body>
</html>

MongoDB ve PHP ile ilk işlemler

MongoDB windows kurulumunu gerçekleştirdikten sonra php ile ilk bağlantımızı yapmaya geldi sıra.

Öncelikle sql ile mongoDB arasındaki temel farklılıkları aşağıdaki tablodan inceleyiniz.

SQL MongoDB
Database db
Table Collection
Row Document
Column Field

Localhost MongoDB Bağlantısı

$dbhost = 'localhost';
$m = new Mongo("mongodb://$dbhost");

Bu işlemi yaptıktan sonra collection’a nasıl bağlanacağımızı aşağıdaki kod’dan inceleyelim.

$con = $m->$dbname->yazi; // yazı ismindeki collection'a bağlandık

Şimdi de find() ile collection içindeki tüm verilere ulaştık ve dizi olarak dönen sonuçları foreach döngüsü ile ekrana yazdırdık.

$cursor = $con->find();
foreach($cursor as $obj){
	echo $obj["isim"];
	}

MongoDB PHP Yeni Document Eklemek

Array olarak field’lar içine eklenecek verileri belirledikten sonra collection bağlantısı yaptığımız ifadeye save() methodu ile gönderiyoruz.

$icerik = array(
	'baslik' => 'MongoDB',
	'yazi' => 'buraya yazı detayları gelecek',
	'tags' => array('etiket 1','etiket 2')
);
$con->save($icerik);

MongoDB PHP Delete işlemi

delete from yazi where baslik = “MongoDB”

sorgusunun mongodb ile kullanım şekli aşağıdaki gibidir.

$icerik = array(
	'baslik' => 'MongoDB'
);
$con->remove($icerik);

MongoDB PHP koşula göre veri çağırma

SELECT * From yazi WHERE baslik = “MongoDB” order by name ASC Limit 10

Yukarıdaki sorgunun çevrilmiş hali aşağıdadır.

$icerik = array(
	'baslik' => 'MongoDB'
);
$con->find($icerik)->sort(array("name" => 1))->limit(10);

MongoDB PHP Update İşlemi

UPDATE users SET baslik = ‘Yeni Başlık’ WHERE _id = 18

$icerik = array(
	'$set' => array('baslik' => 'Yeni Başlık')
);
$kosul= array(
	'_id' => 18
);
$con->update($kosul,$icerik);

Genel olarak PHP ile MongoDB kullanım sözcükleri bunlar, daha detaylı incelemek için ww.php.net üzerindeki örnekleri ve detayları inceleyebilirsiniz.

Benim blog’da amacım sizin ilk adımı atmanızdır. Hatalarım varsa bildirirseniz sevinirim. Hatalarınızı yorum kısmından sorabilirsiniz.

Görüşmek üzere.

MongoDB ve PHP Kurulumu

MongoDB‘yi bilgisayarımıza kurduktan sonra localhost üzerinde nasıl mongoDB ‘ye ulaşacağımıza bakabiliriz.

Buradan istediğimiz sürümü indiriyoruz, indirdiklerimiz arasından işletimiz sistemimize en uygun olanı seçip “\PHP\ext” içine yüklüyoruz.

php.ini dosyasının en altına da aşağıdaki satırı ekleyip kaydediyoruz.

extension=php_mongo.dll

Localhost üzerinde “$m = new Mongo();” class’ını çalıştırarak kurulup kurulmadığını çözebilirsiniz.

Eğer çalışmazsa php.exe dosyasını çalıştırın hatayı söyleyecektir, onu çözersiniz zaten 😉

Kurulum bu kadar basit.

MongoDB Nedir? Windows MongoDB Kurulumu Nasıl Yapılır?

MongoDB performanslı olduğundan dolayı son zamanlarda çok duyduğum bir veritabanı. Duymuşken biraz inceleyelim dedim, windows üzerinde denemeler yapmaya başladım, daha sonra ise PHP uygulamalarımın bazılarında (performansa ihtiyaç duyacağını düşündüklerimi) bu veritabanını kullanacağım.

mongodb

MongoDB nedir diye soracak olursanız; ilişkisel veritabanları çok fazla veride afallamaya başlıyor, MongoDB ile bu sıkıntılardan kurtulacağınız vaadediliyor. MongoDB verileri JSON formatında tutuyor ve buna göre işlemler yapıyor, c++ ile geliştirilmiş olması da notlarım arasında. Unutmadan full text search ve indexleme özelliğine de sahip.

http://www.mongodb.org/downloads

Yukarıdaki adresten işletim sistemimize en uygun olanı indiriyoruz.

Daha sonra bunu c:\mongodb dizinine çıkartalım, içine “data” ve “logs” ismiyle iki tane daha klasör oluşturalım.

Şimdi bir cmd dosyası açalım ve c:\mongodb\bin klasörüne gidip aşağıdaki komutu çalıştıralım, bu komut aynı zamanda yeni bir servis oluşturacaktır.

mongod --logpath c:\mongodb\logs\mongo.log --dbpath c:\mongodb\data\db --directoryperdb --install

net start MongoDB” komutu ile servisi çalıştırabilirsiniz.

Bu işlemi de yaptıktan sonra yeni bir cmd dosyası daha açıyoruz ve mongo shell üzerinde çalışmaya başlıyoruz.

c:\mongodb\bin dizinine gittikten sonra mongo.exe yazarak shell ‘i çalıştırıyoruz.

Localhost üzerinden http://localhost:28017 yazarak mongodb’nin çalıştığını görebilirsiniz.

MongoDB için sizlere MongoVUE programını öneririm, kullanışlı programdır.

İlerleyen zamanlarda mongoDB ve PHP kodlarını ve örnek uygulamalarını da paylaşmaya çalışacağım inşallah.

Görüşmek üzere

Kategoriler