SlideShare uma empresa Scribd logo
MongoDB + PHP
Quem

Agripino Duarte

@agripinoduarte

   @RadigTI
MongoDb



“MongoDB (from "humongous") is a scalable, high­performance, 
              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 (Master­Slave e Replica Sets)
✔
     Map/Reduce
✔    Mais...
MongoDb
Drivers
✔
     C
✔
     C++
✔
     Erlang
✔
     Haskell
✔
     Java
✔
     Javascript
✔
    .NET (C# F#, PowerShell, etc)
✔
     Node.js
✔
     Perl 
✔
     PHP
✔
     Python
✔
     Ruby
✔
     Scala
MongoDb

Linux/Unix
   OS X
 Windows
32 e 64 bits
MongoDb
MongoDb



Instalando
Instalando
Linux

Fácil:  apt­get/aptitude/yum install mongodb

Pouco fácil:
curl http://downloads.mongodb.org/linux/mongodb­linux­x86_64­x.y.z.tgz > mongo.tgz
tar ­zxvf mongo.tgz
mkdir ­p /data/db
chown mongo /data/db
mongod ­­config /etc/mongod.conf
Instalando
OS X

Fácil: brew/port install mongodb

Pouco Fácil: 
curl http://downloads.mongodb.org/osx/mongodb­osx­i386­x.y.z.tgz > mongo.tgz
tar ­zxvf mongo.tgz
sudo mkdir ­p /data/db
sudo chown `id ­u` /data/db
mongod ­­config /etc/mongod.conf
Instalando
Windows

Difícil:
cd 
move C:mongodb­win32­* C:mongodb
md data
md datadb
C:mongodbbinmongod.exe
(Depending on the security level of your system, Windows will issue a Security Alert dialog box about 
blocking “some features” of C:mongodbbinmongod.exe)
md C:mongodblog
echo logpath=C:mongodblog > C:mongodbmongod.cfg
C:mongodbbinmongod.exe ­­config C:mongodbmongod.cfg –install
net start MongoDB
Suporte ao MongoDB no PHP
Suporte ao MongoDB no PHP


            PHP >5.1
     Linux, OS X e Windows
          32 e 64 bits
Instalando a Extensão mongo ao PHP
Instalando a Extensão

                                   Linux
                          sudo pecl install mongo
                           extension=mongo.so

                                   OS X
                          sudo pecl install mongo
                            extension=mongo.so

                                 Windows
                                  Go to 
http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows
                        extension=php_mongo.dll
Usando o MongoDB no PHP
MongoDB no PHP


     Por que?

      Web Apps
 Informações Rápidas
    Escalabilidade
        Cache
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('2012­08­17 18:00:00'));
MongoDB no PHP

Buscando num intervalo de datas

  $start = new MongoDate(strtotime("2012­08­17 00:00:00"));
  $end = new MongoDate(strtotime("2012­09­01 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("2012­08­17 00:00:00"));
  $end = new MongoDate(strtotime("2012­09­01 00:00:00"));

  $collection­>find(array(
     “inscription_date” => array(
          '$gt' => $start, 
          '$lte' => $end
          )
     )
  );
MongoDB no PHP



MongoDB nos Frameworks PHP
MongoDB nos Frameworks PHP

          CakePHP
         CodeIgniter
           Drupal
           Kohana
          Lithium
          Symfony
            Zend
            Etc.

Mais conteúdo relacionado

PPTX
Desenvolvimento de aplicações PHP com MongoDB
Ari Stopassola Junior
 
PDF
Curso mongo db com php
Suissa
 
PPT
Modelando aplicação em documento - MongoDB
Thiago Avelino
 
PPT
Palestra MongoDB
James G Silva
 
ODP
MongoDB - Tudo o que você precisa saber
Christiano Anderson
 
PDF
Mongo DB
dist_bp
 
PDF
Mini-Curso de MongoDB
Brunno Gomes
 
PPTX
MongoDB + PHP
Ari Stopassola Junior
 
Desenvolvimento de aplicações PHP com MongoDB
Ari Stopassola Junior
 
Curso mongo db com php
Suissa
 
Modelando aplicação em documento - MongoDB
Thiago Avelino
 
Palestra MongoDB
James G Silva
 
MongoDB - Tudo o que você precisa saber
Christiano Anderson
 
Mongo DB
dist_bp
 
Mini-Curso de MongoDB
Brunno Gomes
 
MongoDB + PHP
Ari Stopassola Junior
 

Mais procurados (20)

PPT
Desenvolvendo soluções com banco de dados não relacional - MongoDB
iMasters
 
PPTX
Introdução ao MongoDB II
Luiz Duarte
 
PPTX
Treinamento Elasticsearch - Parte 1
Luiz Henrique Zambom Santana
 
PPTX
MongoDB: Uma forma diferente de pensar no desenvolvimento
Marcos Thomaz
 
PDF
Minicurso Epoca mongoDB
LelyBarros
 
PDF
Introdução ao MongoDB
Elaine Naomi
 
PPTX
Como o elasticsearch salvou minhas buscas
Waldemar Neto
 
PDF
PHPMongoDB
Michel Felipe
 
PDF
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Miguel Gallardo
 
PDF
Introdução ao MongoDB
Luiz Duarte
 
KEY
MongoDB - Apresentação
Terra / Neo
 
PPTX
Treinamento Elasticsearch - Parte 2
Luiz Henrique Zambom Santana
 
ODP
BigData - ElasticSearch + PHP
Felipe Weckx
 
PPTX
#5 CRUD no MongoDB
Gabriel Alves Scavassa
 
PDF
2011 01-18 mongo-db
Campus Party Brasil
 
PPTX
MongoDB - Iniciando e Conhecendo
Edemilson Gonçalves
 
PPT
Mongo Db - PHP Day Workshop
Diego Sana
 
KEY
Django e MongoDB - Python Brasil 7
Christiano Anderson
 
PDF
Palestra CouchDB III ENSOL
Allisson Azevedo
 
PDF
Mecanismo de Busca com Node.js + MongoDB
Luiz Duarte
 
Desenvolvendo soluções com banco de dados não relacional - MongoDB
iMasters
 
Introdução ao MongoDB II
Luiz Duarte
 
Treinamento Elasticsearch - Parte 1
Luiz Henrique Zambom Santana
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
Marcos Thomaz
 
Minicurso Epoca mongoDB
LelyBarros
 
Introdução ao MongoDB
Elaine Naomi
 
Como o elasticsearch salvou minhas buscas
Waldemar Neto
 
PHPMongoDB
Michel Felipe
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Miguel Gallardo
 
Introdução ao MongoDB
Luiz Duarte
 
MongoDB - Apresentação
Terra / Neo
 
Treinamento Elasticsearch - Parte 2
Luiz Henrique Zambom Santana
 
BigData - ElasticSearch + PHP
Felipe Weckx
 
#5 CRUD no MongoDB
Gabriel Alves Scavassa
 
2011 01-18 mongo-db
Campus Party Brasil
 
MongoDB - Iniciando e Conhecendo
Edemilson Gonçalves
 
Mongo Db - PHP Day Workshop
Diego Sana
 
Django e MongoDB - Python Brasil 7
Christiano Anderson
 
Palestra CouchDB III ENSOL
Allisson Azevedo
 
Mecanismo de Busca com Node.js + MongoDB
Luiz Duarte
 
Anúncio

Semelhante a Mongo + php (20)

PPTX
Introdução à Node.js + MongoDB
Luiz Duarte
 
KEY
Python e MongoDB - Ensol
Christiano Anderson
 
KEY
Python MongoDB no MongoSP
Christiano Anderson
 
PPT
Desenvolvimento Mobile com Ruby
Rodrigo Martins
 
KEY
MongoDB, Banco de Dados orientado a documento
Thiago Avelino
 
PDF
Pdo do PHP Palestra
Bartolomeu S. Gusella
 
KEY
MongoDB na Campus Party
Christiano Anderson
 
PDF
JS Experience 2017 - Criação de mecanismos de busca usando Node.js + MongoDB
iMasters
 
PDF
Xdebug seus problemas acabaram - tdc floripa 2017
Vitor Mattos
 
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
PDF
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Tchelinux
 
PDF
Xdebug seus problemas acabaram - TDC - PHPeste
Vitor Mattos
 
PDF
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
tdc-globalcode
 
PDF
Mean Stack
Bruno Catão
 
PDF
Aula05-ProgramacaoparaWeb123456878915151
alderleysousa444
 
ODP
MongoDB - Tudo que você precisa saber - FGSL 2014
Christiano Anderson
 
PPTX
Workshop Node JS - Nível Básico
inopus
 
PDF
NoSQL com Zend Framework 2
Flávio Lisboa
 
PDF
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Romulo Fagundes
 
Introdução à Node.js + MongoDB
Luiz Duarte
 
Python e MongoDB - Ensol
Christiano Anderson
 
Python MongoDB no MongoSP
Christiano Anderson
 
Desenvolvimento Mobile com Ruby
Rodrigo Martins
 
MongoDB, Banco de Dados orientado a documento
Thiago Avelino
 
Pdo do PHP Palestra
Bartolomeu S. Gusella
 
MongoDB na Campus Party
Christiano Anderson
 
JS Experience 2017 - Criação de mecanismos de busca usando Node.js + MongoDB
iMasters
 
Xdebug seus problemas acabaram - tdc floripa 2017
Vitor Mattos
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Tchelinux
 
Xdebug seus problemas acabaram - TDC - PHPeste
Vitor Mattos
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
tdc-globalcode
 
Mean Stack
Bruno Catão
 
Aula05-ProgramacaoparaWeb123456878915151
alderleysousa444
 
MongoDB - Tudo que você precisa saber - FGSL 2014
Christiano Anderson
 
Workshop Node JS - Nível Básico
inopus
 
NoSQL com Zend Framework 2
Flávio Lisboa
 
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Romulo Fagundes
 
Anúncio

Último (7)

PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 

Mongo + php