Você está na página 1de 26

Consultas em noSQL

{name: mongo,type:DB}

Do ingls humongous : imenso, grandioso

{name: mongo,type:DB}

O MongoDB

Banco de dados Orientado a Documentos Escrito em C++. Fornecido pela Empresa 10gen. Incio do desenvolvimento em 2007. Primeira verso em 2009.

Caractersticas do MongoDB
Suporte nativo a sharding
Escalonamento horizontal com particionamento dos dados.

Controle de concorrncia atravs e operaes atmicas na memoria local.


Verifica se o documento foi alterado por outro usurio antes da atualizao.

Documentos armazenado no formato BSON (Binary JSON), semelhante ao JSON*. Utiliza a especificao GridFS para armazenar dados binrios longos (vdeos).
* JavaScript Object Notation

Comparativo
MONGODB Banco de Dados Coleo SGBDs Relacionais Banco de Dados Tabela

BSON Documento
BSON Campo Chave Valor

Linha
Coluna

Quem Utiliza

Sintaxe
Exibindo Bancos
show dbs;

Usando Bancos de Dados: use <db>; Listando Colees:


show collections;

Sintaxe

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:
db.professores.insert({ nome: Jean, idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], sexo: m })

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:

Banco de dados utilizado atualmente

db.professores.insert({ nome: Jean, idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], sexo: m })

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:

Documento

db.professores.insert({ nome: Jean, idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], sexo: m })

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:

Chaves

db.professores.insert({ nome: Jean, idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], sexo: m })

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:

Valores

db.professores.insert({ nome: Jean, idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], sexo: m })

Inserindo Dados
Inserindo Dados:
db.<collection>.insert(json);

Exemplo:
db.professores.insert({ String nome: Jean, integer array idade: 26, disciplinas:[Tecnicas de Programacao, Topicos Avancados], String sexo: m })

Consultas
Consultando Dados:
db.<collection>.find();

Exemplo:
> { db.professores.find();

"_id" "nome" "idade" disciplinas"

ObjectId("507d7c1382270000000061da"), "Jean", 26, " ["Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"

: : : :

Consultas
Consultando Dados:
db.<collection>.find();

Exemplo:
> { db.professores.find();

"_id" "nome" "idade" disciplinas"

ObjectId("507d7c1382270000000061da"), "Jean", 26, " ["Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"

: : : :

Consultas
Consultando Dados:
db.<collection>.find();

Exemplo:
> { db.professores.find();
O campo _id criado automaticamente e a chave primria.

"_id" "nome" "idade" disciplinas"

ObjectId("507d7c1382270000000061da"), "Jean", 26, " ["Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"

: : : :

Clusulas de Consultas
db: test collection: professores {"nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"} {"nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"} {"nome" : "Carlos", "idade" : 36, "disciplinas" : [ "Aeds3", "Teoria", "Sistemas Operacionais" ], "sexo" : "m" } {"nome" : "Joaquim dos Santos", "idade" : 54, "sexo" : "m" } {"nome" : "Camila Freitas", "idade" : 42, "disciplinas" : [ "Adminitracao" ], "sexo" : "f" } {"nome" : "Edna Santos", "idade": 42, "disciplinas" : [ "Economia", "SIG" ], "sexo" : "f" } {"nome" : "Luiz Claudio", "idade": 29, "disciplinas" : [ "POO", "OAC" ], "sexo" : "m" }

SQL:
SELECT * FROM professores WHERE nome=Carlos

mongoDB:
db.professores.find({nome:Carlos});
> { "_id" : ObjectId("507d7f9f82270000000061dc"), "nome" : "Carlos", "idade" : 36,"disciplinas" : [ "Aeds3", "Teoria da Computacao", "Sistemas Operacionais" ], "sexo" : "m" }

Clusulas de Consultas
db: test collection: professores {"nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"} {"nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"} {"nome" : "Carlos", "idade" : 36, "disciplinas" : [ "Aeds3", "Teoria", "Sistemas Operacionais" ], "sexo" : "m" } {"nome" : "Joaquim dos Santos", "idade" : 54, "sexo" : "m" } {"nome" : "Camila Freitas", "idade" : 42, "disciplinas" : [ "Adminitracao" ], "sexo" : "f" } {"nome" : "Edna Santos", "idade": 42, "disciplinas" : [ "Economia", "SIG" ], "sexo" : "f" } {"nome" : "Luiz Claudio", "idade": 29, "disciplinas" : [ "POO", "OAC" ], "sexo" : "m" }

SQL:
SELECT * FROM professores WHERE nome=Jean, idade=26

mongoDB:
db.professores.find({nome:Jean,idade:26});
> { "_id" : ObjectId("507d7c1382270000000061da"), "nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"} { "_id" : ObjectId("507d7c5a82270000000061db"), "nome" : "Jean", "idade" : 26, "disciplinas" : [ "Tecnicas de Programacao", "Topicos Avancados" ], "sexo" : "m"}

Selecionando campos de Consultas


SQL:
SELECT nome,idade FROM professores

MongoDB:
db.professores.find(null,{_id:0,nome:1,idade:1});

{"nome" : "Jean", "idade" : 26} {"nome" : "Jean", "idade" : 26} {"nome" : "Carlos", "idade" : 36} {"nome" : "Joaquim dos Santos", "idade" : 54 } {"nome" : "Camila Freitas", "idade" : 42 } {"nome" : "Edna Santos", "idade": 42, } {"nome" : "Luiz Claudio", "idade": 29, }

Operaes Condicionais em Consultas


SQL:
SELECT nome,idade FROM professores WHERE idade>=40

MongoDB:
db.<document>.find({idade:{$gte>40}},{_id:0,nome:1});

{"nome" : "Joaquim dos Santos", "idade" : 54 } {"nome" : "Camila Freitas", "idade" : 42 } {"nome" : "Edna Santos", "idade": 42, } db.<collection>.find({$operador: valor});

Operaes Condicionais em Consultas


SQL:
SELECT nome,idade FROM professores WHERE idade>=40

MongoDB:
db.professores.find({idade:{$gte:40}},{_id:0,nome:1,idade:1});

{"nome" : "Joaquim dos Santos", "idade" : 54 } {"nome" : "Camila Freitas", "idade" : 42 } {"nome" : "Edna Santos", "idade": 42, }

Ordenao em Consultas
SQL:
SELECT nome,idade FROM professores ORDER BY idade ASC

MongoDB:
db.professores.find(null,{_id:0,nome:1,idade:1}) .sort(idade:1);
{"nome" : "Jean", "idade" : 26} {"nome" : "Jean", "idade" : 26} {"nome" : "Luiz Claudio", "idade": 29, } {"nome" : "Carlos", "idade" : 36} {"nome" : "Camila Freitas", "idade" : 42 } {"nome" : "Edna Santos", "idade": 42, } {"nome" : "Joaquim dos Santos", "idade" : 54 }

Ordenao em Consultas
SQL:
SELECT nome,idade FROM professores ORDER BY idade ASC

MongoDB:
db.professores.find(null,{_id:0,nome:1,idade:1}) .sort(idade:1);
{"nome" : "Jean", "idade" : 26} {"nome" : "Jean", "idade" : 26} {"nome" : "Luiz Claudio", "idade": 29, } {"nome" : "Carlos", "idade" : 36} {"nome" : "Camila Freitas", "idade" : 42 } {"nome" : "Edna Santos", "idade": 42, } {"nome" : "Joaquim dos Santos", "idade" : 54 }

ASC = 1 DESC = -1

Ordenao E Limitao em Consultas


SQL:
SELECT nome,idade FROM professores ORDER BY idade ASC LIMIT 1,4

MongoDB:
db.professores.find(null,{_id:0,nome:1,idade:1}) .sort(idade:1).limit(4);;
{"nome" : "Jean", "idade" : 26} {"nome" : "Jean", "idade" : 26} {"nome" : "Luiz Claudio", "idade": 29, } {"nome" : "Carlos", "idade" : 36}