Mongo + php
Click here to load reader
-
Upload
jose-agripino-duarte-da-silva -
Category
Technology
-
view
1.459 -
download
2
Transcript of Mongo + php
MongoDB + PHP
Quem
Agripino Duarte
@agripinoduarte
@RadigTI
MongoDb
“MongoDB (from "humongous") is a scalable, highperformance, open source NoSQL database”
mongodb.org
MongoDb
✔ Escrito em C++✔ Linguagem Rica e de Fácil Entendimento✔ Orientado a Documentos (BSON)✔ Não Relacional (NoSQL)✔ Tipado Dinamicamente (Schemaless)✔ Suporte a Índices✔ Suporte a Replicação (MasterSlave e Replica Sets)✔ Map/Reduce✔ Mais...
MongoDbDrivers
✔ C✔ C++✔ Erlang✔ Haskell✔ Java✔ Javascript✔ .NET (C# F#, PowerShell, etc)✔ Node.js✔ Perl ✔ PHP✔ Python✔ Ruby✔ Scala
MongoDb
Linux/UnixOS X
Windows32 e 64 bits
MongoDb
MongoDb
Instalando
InstalandoLinux
Fácil: aptget/aptitude/yum install mongodb
Pouco fácil:curl http://downloads.mongodb.org/linux/mongodblinuxx86_64x.y.z.tgz > mongo.tgztar zxvf mongo.tgzmkdir p /data/dbchown mongo /data/dbmongod config /etc/mongod.conf
InstalandoOS X
Fácil: brew/port install mongodb
Pouco Fácil: curl http://downloads.mongodb.org/osx/mongodbosxi386x.y.z.tgz > mongo.tgztar zxvf mongo.tgzsudo mkdir p /data/dbsudo chown `id u` /data/dbmongod config /etc/mongod.conf
InstalandoWindows
Difícil:cd \move C:\mongodbwin32* C:\mongodbmd datamd data\dbC:\mongodb\bin\mongod.exe(Depending on the security level of your system, Windows will issue a Security Alert dialog box about blocking “some features” of C:\\mongodb\bin\mongod.exe)md C:\mongodb\logecho logpath=C:\mongodb\log > C:\mongodb\mongod.cfgC:\mongodb\bin\mongod.exe config C:\mongodb\mongod.cfg –installnet start MongoDB
Suporte ao MongoDB no PHP
Suporte ao MongoDB no PHP
PHP >5.1Linux, OS X e Windows
32 e 64 bits
Instalando a Extensão mongo ao PHP
Instalando a Extensão
Linuxsudo pecl install mongoextension=mongo.so
OS Xsudo pecl install mongo extension=mongo.so
WindowsGo to
http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windowsextension=php_mongo.dll
Usando o MongoDB no PHP
MongoDB no PHP
Por que?
Web AppsInformações Rápidas
EscalabilidadeCache
MongoDB no PHP
Criando uma Conexão
$m = new Mongo(); // conecta a localhost:27017
Ou
$m = new Mongo('exemplo.com:1337'); // conecta ao host exemplo.com na porta 1337
MongoDB no PHP
Selecionando um banco de dados
$db = $m>phpms; //seleciona o banco de dados 'phpms'
Selecionando uma coleção
$participants = $db>participants;
MongoDB no PHP
Inserindo dados
$participants >insert(array('name' => 'jose'
);
$participants >insert(array('name' => 'maria','cpf' => '12345678901'
);
MongoDB no PHP
Executando um comando
$db>execute('db.insert({participants: {name:”jose”}})');
MongoDB no PHP
Tipos de Dados
MongoDB no PHP
MongoInt32: Inteiro de 32 bits num sistema 64 bits$i = new MongoInt32('123.45');
MongoInt64: Inteiro de 64 bits num sistema 32 bits$i = new MongoInt64('123.45');
MongoDate: Data/Hora em milisegundos$date = new MongoDate(strtotime('20120817 18:00:00'));
MongoDB no PHP
Buscando num intervalo de datas
$start = new MongoDate(strtotime("20120817 00:00:00"));$end = new MongoDate(strtotime("20120901 00:00:00"));
$participants>find(array(“inscription_date” => array(
'$gt' => $start, '$lte' => $end
))
);
MongoDB no PHP
Buscando num intervalo de datas
$start = new MongoDate(strtotime("20120817 00:00:00"));$end = new MongoDate(strtotime("20120901 00:00:00"));
$collection>find(array(“inscription_date” => array(
'$gt' => $start, '$lte' => $end)
));
MongoDB no PHP
MongoDB nos Frameworks PHP
MongoDB nos Frameworks PHP
CakePHPCodeIgniter
DrupalKohanaLithiumSymfony
ZendEtc.