Para os Acostumados com o Sol

Alessandro Feitoza

Ativista e Militante do Software Livre

 

Fundador da PHP com Rapadura

 

Desenvolvedor Web

Instrutor de PHP e Desenvolvimento Web

AVISO

Lei de Murphy: "Se algo pode dar errado, vai dar, e da pior forma possível"

E o que diabé MongoDB?

Nova Geração de Banco de Dados

Volume de Dados

Variedade de Dados

Velocidade no processamento dos dados

NoSQL

Not Only SQL

MongoDB não é relacional

É orientado a documentos!!!

Terminologia

Banco tradicional

 

DATABASE

TABLES

ROWS

COLUMN

QUERY

INDEX

 

MongoDB

 

DATABASE

COLLECTION

JSON

KEY

DOCUMENT

QUERY

 

Coleção

use nome_do_banco

show dbs

db.nome_collection.comando()

INSERT

db.collection.insert({"key":"valor"})

bebida1 = {

    "nome":"Cearense",

    "valor":"5.90",

    "tipo":"Cachaça"

}

db.bebidas.insert(bebida1)

SELECT

db.collection.find()

{ "_id" : ObjectId("57c02d7f54c2d85bb575f0b3"), "nome" : "Cearense", "valor" : "5.90", "tipo" : "Cachaça" }


{ "_id" : ObjectId("57c02da054c2d85bb575f0b4"), "nome" : "Serra Preta", "valor" : "3.50", "tipo" : "Cachaça" }

SELECT * FROM tabela

SELECT

db.collection.find({"tipo":"Cachaça"})

db.collection.find({}, {"tipo":1, "_id":0})

{ "tipo" : "Cachaça" }
{ "tipo" : "Cachaça" }
{ "tipo" : "Cerveja" }

SELECT coluna1, coluna2 FROM tabela

SELECT * FROM tabela WHERE coluna='valor'

OPERADORES

menor que  <   $lt

   menor igual   <=   $lte

maior que   >   $gt

maior igual   >=   $gt

 

Não há registros, mas sim documentos.

User = {
    nome: "Alessandro Feitoza",
    email: "eu@alessandrofeitoza.eu",
    idade: 20
}
db.testedb.save(User)
Rapadura = {
    nome: "Rapadura Doce",
    site: "phpcomrapadura.org",
    estado: {
        nome: "Ceará",
        sigla: "CE",
        capital: "Fortaleza"
    },
    contatos: [{numero: "(85) 8888", op: "Oi"}, {numero: "(85) 9999", op: "Tim"}] 
}
db.testedb.save(Rapadura)

E no PHP?

<?php
    //importando a lib
    require_once 'vendor/autoload.php';

    //criando objeto
    $mongo = new MongoDB\Client();

    //selecionando banco
    $db = $mongo->db_teste;

Conexão

Exemplo de save(insert)

<?php
    $dados = array(
        'nome' = "Alessandro Feitoza",
        'email' = "eu@alessandrofeitoza.eu",
        'idade' = 21,
    );
    
    $db->usuarios->insertOne($dados);

Exemplo de FIND(SELECT)

<?php

    //busca
    $dados = $db->usuarios->find();
<?php
    $colecao = $db->usuarios;

    //busca
    $dados = $colecao->find(array('campo'=>"valor");

Exemplo de delete

<?php
    $colecao = $db->usuarios;

    $id = "2618723618726376g21837612531a2asda";

    //atualizar
    $dados = $colecao->deleteOne(array('_id'=>$id));

Exemplo de UPDATE

<?php
 $c = $db->usuarios;

 $id = "2618723618726376g21837612531a2asda";

 //excluir
 $dados = $c->deleteOne(array('_id'=>$id), array('$set'=>$novos));

E agora?

Vamos conversar.

Enfim

ATENÇÃO

A 2º pessoa a se levantar e gritar

"PHP com Rapadura"

ganhará um brinde

FORTALEZA-CE

06, 07, e 08 de Outubro de 2017

Inté o futuro

 

eu@alessandrofeitoza.eu

www.alessandrofeitoza.eu

@FeitozaAle

Made with Slides.com