Você está na página 1de 58

O que é NoSQL?

• Não usa SQL


• Utiliza uma linguagem de consulta customizada
• É um banco de dados “não-relacional”
• Significa coisas diferentes em implementações diferentes
• Favorece a velocidade e escalabilidade mais que qualquer outro recurso
• Não substitui o tradicional RDBMS

É um CONCEITO
NÃO é um padrão
O que é mongoDB?

• Uma base de dados orientada a “documentos”

• Documentos são representados como pares de Name : Value

• Documentos aninhados e arrays reduzem a necessidade de joins

• Esquemas dinâmicos – permitem dados não estruturados e complexos


Estrutura de um banco de dados MongoDB

Bancos de Dados

Coleções

Documentos
Estrutura de um banco de dados MongoDB
MongoDB x SLQ
MongoDB – Documento exemplo
MongoDB - Vocabulário
MongoDB - Detalhes

• Todos os documentos tem um campo _id


• Uma collection somente existe quando há dados
• Documentos em uma collection não necessitam um esquema rígido,
mas tipicamente são similares
• A linguagem de consulta suporta estruturas complexas, incluindo
expressões regulares
MongoDB x Outros bancos

Fonte: https://insights.stackoverflow.com/survey/2019#technology
MongoDB – Indicação de uso

• Big Data
• Escrita intensa
• Busca simples, porém pesada
• Alta escalabilidade e disponibilidade
• Schema instável
MongoDB – Site
MongoDB – Site - Download
https://www.mongodb.com/download-center/community
MongoDB – Instalação – Definindo o local...

Escolha o local
MongoDB – Instalação – Não instalar Compass

Desmarque esta
opção
MongoDB – Instalação – Se tudo deu certo...
MongoDB – Pasta bin
MongoDB – Ferramentas da pasta bin
MongoDB – Subindo server
MongoDB – Subindo client
MongoDB – Visualizando bancos
MongoDB – Visualizando bancos
MongoDB – Acessando banco

Ao acessar um
banco inexistente o
mesmo será criado
MongoDB – Acessando banco

Ponteiro
apontando para
o banco test
MongoDB – Exibindo coleções
MongoDB – Buscando documentos

Buscando
documentos na
coleção alunos
MongoDB – Insert

Inserindo
documento na
coleção alunos
MongoDB – Insert -Verificação

Inserção OK
MongoDB – Find

Consultando
documentos da
coleção alunos
MongoDB – Insert múltiplo

Inserindo dois
documentos na
coleção alunos
MongoDB – Insert múltiplo - Verificação
Confirmação da
inserção
MongoDB – Find

Consulta na
coleção alunos
MongoDB – Find Pretty
Consulta com
resultado
indentado
MongoDB – Consulta por nome
MongoDB – Consulta por matricula
MongoDB – Update
MongoDB – Update - Verificação
MongoDB – UpdateOne
MongoDB – UpdateOne - Verificação
MongoDB – Remove
MongoDB – Remove - Verificação
MongoDB – Insert – Campo novo

Observe que foi


criado um campo
inexistente até então
MongoDB – Insert – Campo novo - Verificação

Observe que somente


o aluno Gabriel possui
o campo aprovado
MongoDB – Verificando as coleções
MongoDB – Backup
MongoDB – Backup (Ferramenta mongodump)
MongoDB – Backup - OK
MongoDB – Backup - Verificação
MongoDB x SQL – Exemplos
Criando e inserindo

SQL MongoDB
CREATE TABLE usuarios (
db.usuarios.insert(
id INT AUTO_INCREMENT,
nome Varchar(30), {nome: "Lucas",
cidade Varchar(60), cidade: "Pelotas",
estado Varchar(60), estado: "RS"
PRIMARY KEY (id)
}
);
)
INSERT INTO usuarios (nome, cidade,
estado)
VALUES (“Lucas", "Pelotas", "RS");
MongoDB x SQL – Exemplos
Excluindo

SQL
DELETE
FROM usuarios
WHERE estado = "RS";

MongoDB
db.usuarios.remove({estado:"RS"})
MongoDB x SQL – Exemplos
Alterando / Atualizando

SQL
UPDATE usuarios
SET estado = "RS"
WHERE cidade = "Pelotas"

MongoDB
db.usuarios.update({cidade: {$eq:"Pelotas"}},
$set:{estado:"RS"}},
multi:true
}
)
MongoDB x SQL – Exemplos
Consultando

SQL
SELECT *
FROM usuarios
WHERE estado = "RS";

MongoDB
db.usuarios.find({estado:{$eq:"RS"}}
)
MongoDB x SQL – Exemplos
Consultando (com condição dupla)

SQL
SELECT *
FROM usuarios
WHERE (idade > 18) AND (idade <= 40);

MongoDB
db.usuarios.find({idade:{$gt:18, $lte:40}}
)
MongoDB x SQL – Exemplos
Consultando (string)

SQL
SELECT *
FROM usuarios
WHERE nome LIKE "Rodrigo%";

MongoDB
db.usuarios.find({nome:/^Rodrigo/}
)
MongoDB x SQL – Exemplos
Consultando – Ordenação

SQL
SELECT *
FROM usuarios
WHERE cidade = "Pelotas"
ORDER BY nome ASC;

MongoDB
db.usuarios.find({cidade:"Pelotas"}).sort({nome:1})
MongoDB x SQL – Exemplos
Consultando – Ordenação decrescente

SQL
SELECT *
FROM usuarios
WHERE cidade = "Pelotas"
ORDER BY nome DESC;

MongoDB
db.usuarios.find({cidade:"Pelotas"}).sort({nome:-1})
MongoDB x SQL – Exemplos
Consultando – Junção (JOIN)

SQL
SELECT * FROM usuarios u
INNER JOIN eventos e ON e.id = u.id
WHERE e.publicado IS NOT NULL
GROUP BY u.email;

MongoDB
db.usuarios.find(('eventos.publicado': ($ne:null)))
Bora Mongar?

Você também pode gostar