SlideShare uma empresa Scribd logo
Isaac Garcia Jorge
Isaac Garcia Jorge 
“Estou feliz por eles terem colocado computação nas 
nuvens”
Problema! Crescimento exponencial de dados! 
Isaac Garcia Jorge
MongoDB
“Não somente SQL” 
Isaac Garcia Jorge
Movimento teve inicio no começo de 2009. 
“NoSQL é um movimento que promove soluções de armazenamento de dados não relacionais.” (PORCELLI, 
2011) 
Próxima geração de banco de dados abordando áreas como: não relacional, distribuído, open-source e 
escalabilidade horizontal. 
Isaac Garcia Jorge
Tipos: 
Isaac Garcia Jorge
Key/value (Chave/Valor): 
Esse é o tipo de banco de dados NoSql mais simples, o conceito dele é uma chave e um valor para esta 
Ele é o que aguenta mais carga de dados. 
Esses tipos de banco de dados são os que têm a maior escalabilidade. 
Isaac Garcia Jorge
Key/value (Chave/Valor): 
Isaac Garcia Jorge
Wide Colum Store (Big 
Table): 
Fortemente inspirados pelo BigTable do Google; 
Suporta várias linhas e colunas, além disso ele permite sublinhas e subcolunas; 
Suporta um grande numero de colunas dinamicas (linha acima); 
Schema-free; 
Isaac Garcia Jorge
Wide Colum Store (Big 
Table): 
Isaac Garcia Jorge
Graph Store(orientado a 
grafo): 
Modalidade de banco mais complexa; 
Estrutura baseada em grafos, nós, pontes e etc; 
Guardam objetos e não registros como nos outros NoSQL; 
A busca destes itens são feitas pela navegação destes objetos; 
Isaac Garcia Jorge
Graph Store(orientado a 
grafo): 
Isaac Garcia Jorge
Document Store (orientado a 
documento): 
Desenvolvido para guardar, gerenciar e manipular informações orientadas a documentos (também conhecido 
como data semi estruturada); 
Baseado em documentos XML ou JSON; 
Podem ser localizados pelo seu id único ou por qualquer registro que tenha no documento: 
Isaac Garcia Jorge
Isaac Garcia Jorge 
Document Store (orientado a 
documento):
Capacidade/Complexidade: 
Isaac Garcia Jorge
Isaac Garcia Jorge
Isaac Garcia Jorge
C++ 01010101010010 
10101010101100 
10101010101010 
10101010101010 
10101010101010 BSON 
Isaac Garcia Jorge
Mongosis 
Business Intelligence: 
Integration Services 
Isaac Garcia Jorge
_id 
ObjectId("507f1f77bcf86cd799439011") 
string 
número (int, double, float) 
… 
Só não pode ser tipo array [ ] 
Restrições: 
PS: ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp() = ISODate("2012-10-15T21:26:17Z") 
Isaac Garcia Jorge
Restrições: 
16 MB 
Isaac Garcia Jorge
Vamos praticar!
Instalação como serviço no Windows: 
1) Fazer download no site: http://www.mongodb.org/downloads 
2) Descompactar os arquivos (preferencialmente em c:) 
3) Abrir o CMD e digitar o comando >cd [caminho onde esta o MongoDB] 
4) Criar uma pasta data com as subpastas datadb e datalog com o comando 
a) >md datadb 
b) >md datalog 
5) Criar um arquivo de configuração com a extenção .config setando, no mínimo o caminho do banco e o 
caminho de log 
a) dbpath=c:datadb 
b) logpath=c:datalogmongolog.txt 
6) Iniciar o serviço com o comando >net start MongoDB 
7) Iniciar o serviço com o comando >mongo 
Isaac Garcia Jorge
DATABASE 
TABLE 
ROWS 
QUERY 
INDEX 
PARTITION 
DATABASE 
COLLECTION 
DOCUMENT 
JSON 
INDEX 
SHARD 
Isaac Garcia Jorge 
Terminologia:
Criação e uso de Base: 
CREATE DATABASE usuario; 
GO 
USE usuario; 
>use usuario; 
Isaac Garcia Jorge
Criação de tabela usuários e inserção: 
CREATE TABLE dbo.cetiUser{ 
id INT IDENTITY, 
nome VARCHAR(100), 
matricula int, 
idade int, 
dataCriacao DATETIME, 
cep VARCHAR(10), 
cidade VARCHAR(50), 
rua VARCHAR(150), 
numero INT, 
complemento VARCHAR(100)} 
INSERT INTO dbo.cetiUser 
VALUES('Isaac’, 2968,22, GETDATE(), 
'00000-000', 'RJ', 'Inoã', 123, 'casa 180') 
db.cetiUser.save({ 
"nome":"Isaac", 
"matricula":2968, 
"idade":22, 
"endereço" : { 
"cep":"00000- 
00", 
"cidade":"RJ", 
"rua":"Inoã", 
"numero":123, 
"complemento": "casa180" 
} 
}); 
Isaac Garcia Jorge
Alteração de tabela (documento) e inserção: 
Isaac Garcia Jorge 
db.cetiUser.save({ 
"nome":"Carla", 
"matricula":3000, 
"sexo":"F", 
"endereço" : { 
"cep":"10000- 
00", 
"cidade":"SP", 
"rua":"Cascalhos", 
"numero":62, 
"complemento": "apto: 10" 
} 
}); 
ALTER TABLE dbo.cetiUser 
ADD sexo char(1) 
INSERT INTO dbo.cetiUser 
VALUES('Carla’, 3000, 24, GETDATE(), 
'10000-000', 'SP', 'Cascalhos', 62, 
'apto: 10','F')
Consultas: 
SELECT * FROM usuario; 
SELECT * FROM usuario WHERE matricula = 2968; 
Consulta somente com os campos nome e sexo 
SELECT nome, sexo FROM usuario WHERE matricula = 2968; 
Consulta sem os campos id e apelido 
SELECT nome, dataCriacao, cep, cidade, rua, numero, complemento,FROM usuario WHERE matricula = 
2968; 
Isaac Garcia Jorge 
>db.cetiUser.find(); 
>db.cetiUser.find({matricula: 2968}); 
>db.cetiUser.find({matricula: 2968}); 
Consulta somente com os campos nome e sexo: 
>db.cetiUser.find({matricula: 2968},{ nome:1, matricula:1}); 
Consulta sem os campos id e apelido: 
>db.cetiUser.find({matricula: 2968},{ _id:0, apelido:0});
Consultas: 
Isaac Garcia Jorge 
SELECT * FROM usuario WHERE nome;LIKE (‘*isaac*’) 
>db.cetiUser.find({nome: /Isaac*/i}); 
>db.cetiUser.find({nome : { $regex : 'Isaac*'}});
Exclusão: 
Isaac Garcia Jorge 
Apaga toda a tabela: 
DELETE FROM usuario 
Apaga com condição: 
DELETE FROM usuario WHERE nome = ‘Isaac’ 
Apaga toda a tabela: 
>db.cetiUser.remove(); 
Apaga com condição: 
>db.cetiUser.remove({nome: "Carla"});
Operadores ($gt, $gte, $lt, $lte): 
Isaac Garcia Jorge 
SELECT * FROM usuario WHERE idade;> 22 
SELECT * FROM usuario WHERE idade;>= 22 
SELECT * FROM usuario WHERE idade;< 24 
SELECT * FROM usuario WHERE idade;<= 24 
>db.cetiUser.find({idade: {$gt: 22}}); 
>db.cetiUser.find({idade: {$gte: 22}}); 
>db.cetiUser.find({idade: {$lt: 24}}); 
>db.cetiUser.find({idade: {$lte: 24}});
Outros operadores: 
$all - retorna o objeto onde todos os valores foram encontrados 
$exists - retorna o objeto caso uma chave exista 
$or - retorna o objeto caso a cláusula OU for verdadeira 
$and - retorna o objeto caso a cláusula E for verdadeira 
$type - retorna o objeto caso a chave seja do tipo especificado para conferir a lista dos tipos e seus valores 
$ne (not equal) - retorna o objeto onde o valor não foi encontrado 
$in - retorna o objeto se o valor foi encontrado 
$nin (not in) - retorna o objeto se nenhum dos valores foi encontrado 
$nor (not or) - retorna o objeto caso a cláusula negação do OU for verdadeira 
$mod - retorna o objeto quando o módulo de um valor for encontrado 
Isaac Garcia Jorge
Consultas ordenadas: 
Isaac Garcia Jorge 
SELECT * FROM usuario WHERE nome;ASC 
SELECT * FROM usuario WHERE nome;DESC 
>db.cetiUser.find().sort({nome:1}); 
>db.cetiUser.find().sort({nome:-1});
Alteração: 
Isaac Garcia Jorge 
UPDATE cetiUser SET idade = 28 WHERE matricula = 2968 
SELECT * FROM usuario WHERE nome;DESC 
> usuario = db.cetiUser.findOne({matricula: 2968}); 
> usuario.idade = 28 
> db.cetiUser.save(usuario); 
====================================================== 
> db.cetiUser.update({matricula: 2968},{$set: {matricula: 2900}});
Criação de index: 
Isaac Garcia Jorge 
CREATE INDEX usuario_nome_index ON usuario (nome) 
> db.cetiUser.ensureIndex({nome:1}); 
> db.cetiUser.ensureIndex({nome:1,idade:1});
Importação de dados de arquivo externo: 
> mongoimport --db [nome do banco] --collection [nome da collection] --file [camino] 
Isaac Garcia Jorge
Executar script antes de alguma ação: 
> mongo [caminho do arquivo js] --shell 
Isaac Garcia Jorge
Isaac Garcia Jorge
Isaac Garcia Jorge
Franklin (velho) 
(edição das imagens) 
Isaac Garcia Jorge 
Agradecimentos: 
Mauricio Martins 
(Business Intelligence)

Mais conteúdo relacionado

PPTX
Minicurso mongo db
KEY
NoSQL e MongoDB - ETEC
PDF
Acesso a banco de dados com JDBC
PDF
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
ODP
PPT
Manipulando Bancos de Dados com JDBC
PPTX
Introdução ao MongoDB
PDF
LaravelSP - MySQL 5.7: introdução ao JSON Data Type
Minicurso mongo db
NoSQL e MongoDB - ETEC
Acesso a banco de dados com JDBC
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
Manipulando Bancos de Dados com JDBC
Introdução ao MongoDB
LaravelSP - MySQL 5.7: introdução ao JSON Data Type

Mais procurados (10)

PDF
Curso php
PDF
2011 01-18 mongo-db
PDF
MySQL 5.7 - 
Tirando o Máximo Proveito
PDF
Programando em python dicionarios
PPTX
jQuery na Prática - Cauê Fajoli
PDF
Aula 01 PHP+MySQL - LabMM4
PDF
LabMM4 (T16 - 12/13) - PHP + MySQL
PDF
Apostila de ext js com php e postgresql v0.5
PDF
Persistência de Dados no SQLite com Room
PDF
Object Calisthenics: relaxe e escreva códigos simples
Curso php
2011 01-18 mongo-db
MySQL 5.7 - 
Tirando o Máximo Proveito
Programando em python dicionarios
jQuery na Prática - Cauê Fajoli
Aula 01 PHP+MySQL - LabMM4
LabMM4 (T16 - 12/13) - PHP + MySQL
Apostila de ext js com php e postgresql v0.5
Persistência de Dados no SQLite com Room
Object Calisthenics: relaxe e escreva códigos simples
Anúncio

Destaque (20)

PPTX
Pagina web
PPS
A fantástica porcelana de meissen
PPTX
Fundamentos de derecho plantas juan carlos becerril cruz
PDF
Catalogo boligrafos 2015
PPTX
Presentación1
PPTX
Jestem Dani
PPS
Un tresjoliconteenvn
DOC
Bn noviembre11
PPT
Blended learning
DOCX
Logica matematica
DOC
Music magazine Questionnaire
PPTX
Dn12 u3 a29_lsr
DOCX
Projeto com uso das ti cs
PPS
Eu e pro
PPTX
21 a 28 11-2014 actividades na
PDF
Bioincubadora 111111
PPTX
PPTX
Enfermedad moral en la salud publica
PDF
Hr 008 企管系進路圖
Pagina web
A fantástica porcelana de meissen
Fundamentos de derecho plantas juan carlos becerril cruz
Catalogo boligrafos 2015
Presentación1
Jestem Dani
Un tresjoliconteenvn
Bn noviembre11
Blended learning
Logica matematica
Music magazine Questionnaire
Dn12 u3 a29_lsr
Projeto com uso das ti cs
Eu e pro
21 a 28 11-2014 actividades na
Bioincubadora 111111
Enfermedad moral en la salud publica
Hr 008 企管系進路圖
Anúncio

Semelhante a MongoDB (20)

KEY
NoSQL e MongoDB
PDF
MongoDB: um banco de dados orientado a documento
PPTX
MongoDB - Iniciando e Conhecendo
ODP
Dinamizando Sites Estáticos
PDF
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
PDF
MySQL + JSON da casamento sim!
PDF
MongoDB - Wagner Bonfiglio - Navegg
PPTX
MongoDB - Workshop Buscapé
PDF
Meetup MUG-RS KingHost
ODP
MongoDB - Tudo o que você precisa saber
PDF
Minicurso Introdução ao mongoDB SCTI
KEY
PDF
Introdução ao JQuery e AJAX
PDF
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
PDF
Mini-Curso de MongoDB
ODP
MongoDB - Tudo que você precisa saber - FGSL 2014
PDF
Aula android 02.pdf
PDF
Mongodb workshop cinlug
PPTX
Kotlin: conhecendo features de uma linguagem moderna
PPTX
MySQL - Instalação e Alguns comandos de Banco de Dados
NoSQL e MongoDB
MongoDB: um banco de dados orientado a documento
MongoDB - Iniciando e Conhecendo
Dinamizando Sites Estáticos
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
MySQL + JSON da casamento sim!
MongoDB - Wagner Bonfiglio - Navegg
MongoDB - Workshop Buscapé
Meetup MUG-RS KingHost
MongoDB - Tudo o que você precisa saber
Minicurso Introdução ao mongoDB SCTI
Introdução ao JQuery e AJAX
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Mini-Curso de MongoDB
MongoDB - Tudo que você precisa saber - FGSL 2014
Aula android 02.pdf
Mongodb workshop cinlug
Kotlin: conhecendo features de uma linguagem moderna
MySQL - Instalação e Alguns comandos de Banco de Dados

Último (16)

PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Arquitetura de computadores - Memórias Secundárias
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
COBITxITIL-Entenda as diferença em uso governança TI
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Processos na gestão de transportes, TM100 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf

MongoDB

  • 2. Isaac Garcia Jorge “Estou feliz por eles terem colocado computação nas nuvens”
  • 3. Problema! Crescimento exponencial de dados! Isaac Garcia Jorge
  • 5. “Não somente SQL” Isaac Garcia Jorge
  • 6. Movimento teve inicio no começo de 2009. “NoSQL é um movimento que promove soluções de armazenamento de dados não relacionais.” (PORCELLI, 2011) Próxima geração de banco de dados abordando áreas como: não relacional, distribuído, open-source e escalabilidade horizontal. Isaac Garcia Jorge
  • 8. Key/value (Chave/Valor): Esse é o tipo de banco de dados NoSql mais simples, o conceito dele é uma chave e um valor para esta Ele é o que aguenta mais carga de dados. Esses tipos de banco de dados são os que têm a maior escalabilidade. Isaac Garcia Jorge
  • 10. Wide Colum Store (Big Table): Fortemente inspirados pelo BigTable do Google; Suporta várias linhas e colunas, além disso ele permite sublinhas e subcolunas; Suporta um grande numero de colunas dinamicas (linha acima); Schema-free; Isaac Garcia Jorge
  • 11. Wide Colum Store (Big Table): Isaac Garcia Jorge
  • 12. Graph Store(orientado a grafo): Modalidade de banco mais complexa; Estrutura baseada em grafos, nós, pontes e etc; Guardam objetos e não registros como nos outros NoSQL; A busca destes itens são feitas pela navegação destes objetos; Isaac Garcia Jorge
  • 13. Graph Store(orientado a grafo): Isaac Garcia Jorge
  • 14. Document Store (orientado a documento): Desenvolvido para guardar, gerenciar e manipular informações orientadas a documentos (também conhecido como data semi estruturada); Baseado em documentos XML ou JSON; Podem ser localizados pelo seu id único ou por qualquer registro que tenha no documento: Isaac Garcia Jorge
  • 15. Isaac Garcia Jorge Document Store (orientado a documento):
  • 19. C++ 01010101010010 10101010101100 10101010101010 10101010101010 10101010101010 BSON Isaac Garcia Jorge
  • 20. Mongosis Business Intelligence: Integration Services Isaac Garcia Jorge
  • 21. _id ObjectId("507f1f77bcf86cd799439011") string número (int, double, float) … Só não pode ser tipo array [ ] Restrições: PS: ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp() = ISODate("2012-10-15T21:26:17Z") Isaac Garcia Jorge
  • 22. Restrições: 16 MB Isaac Garcia Jorge
  • 24. Instalação como serviço no Windows: 1) Fazer download no site: http://www.mongodb.org/downloads 2) Descompactar os arquivos (preferencialmente em c:) 3) Abrir o CMD e digitar o comando >cd [caminho onde esta o MongoDB] 4) Criar uma pasta data com as subpastas datadb e datalog com o comando a) >md datadb b) >md datalog 5) Criar um arquivo de configuração com a extenção .config setando, no mínimo o caminho do banco e o caminho de log a) dbpath=c:datadb b) logpath=c:datalogmongolog.txt 6) Iniciar o serviço com o comando >net start MongoDB 7) Iniciar o serviço com o comando >mongo Isaac Garcia Jorge
  • 25. DATABASE TABLE ROWS QUERY INDEX PARTITION DATABASE COLLECTION DOCUMENT JSON INDEX SHARD Isaac Garcia Jorge Terminologia:
  • 26. Criação e uso de Base: CREATE DATABASE usuario; GO USE usuario; >use usuario; Isaac Garcia Jorge
  • 27. Criação de tabela usuários e inserção: CREATE TABLE dbo.cetiUser{ id INT IDENTITY, nome VARCHAR(100), matricula int, idade int, dataCriacao DATETIME, cep VARCHAR(10), cidade VARCHAR(50), rua VARCHAR(150), numero INT, complemento VARCHAR(100)} INSERT INTO dbo.cetiUser VALUES('Isaac’, 2968,22, GETDATE(), '00000-000', 'RJ', 'Inoã', 123, 'casa 180') db.cetiUser.save({ "nome":"Isaac", "matricula":2968, "idade":22, "endereço" : { "cep":"00000- 00", "cidade":"RJ", "rua":"Inoã", "numero":123, "complemento": "casa180" } }); Isaac Garcia Jorge
  • 28. Alteração de tabela (documento) e inserção: Isaac Garcia Jorge db.cetiUser.save({ "nome":"Carla", "matricula":3000, "sexo":"F", "endereço" : { "cep":"10000- 00", "cidade":"SP", "rua":"Cascalhos", "numero":62, "complemento": "apto: 10" } }); ALTER TABLE dbo.cetiUser ADD sexo char(1) INSERT INTO dbo.cetiUser VALUES('Carla’, 3000, 24, GETDATE(), '10000-000', 'SP', 'Cascalhos', 62, 'apto: 10','F')
  • 29. Consultas: SELECT * FROM usuario; SELECT * FROM usuario WHERE matricula = 2968; Consulta somente com os campos nome e sexo SELECT nome, sexo FROM usuario WHERE matricula = 2968; Consulta sem os campos id e apelido SELECT nome, dataCriacao, cep, cidade, rua, numero, complemento,FROM usuario WHERE matricula = 2968; Isaac Garcia Jorge >db.cetiUser.find(); >db.cetiUser.find({matricula: 2968}); >db.cetiUser.find({matricula: 2968}); Consulta somente com os campos nome e sexo: >db.cetiUser.find({matricula: 2968},{ nome:1, matricula:1}); Consulta sem os campos id e apelido: >db.cetiUser.find({matricula: 2968},{ _id:0, apelido:0});
  • 30. Consultas: Isaac Garcia Jorge SELECT * FROM usuario WHERE nome;LIKE (‘*isaac*’) >db.cetiUser.find({nome: /Isaac*/i}); >db.cetiUser.find({nome : { $regex : 'Isaac*'}});
  • 31. Exclusão: Isaac Garcia Jorge Apaga toda a tabela: DELETE FROM usuario Apaga com condição: DELETE FROM usuario WHERE nome = ‘Isaac’ Apaga toda a tabela: >db.cetiUser.remove(); Apaga com condição: >db.cetiUser.remove({nome: "Carla"});
  • 32. Operadores ($gt, $gte, $lt, $lte): Isaac Garcia Jorge SELECT * FROM usuario WHERE idade;> 22 SELECT * FROM usuario WHERE idade;>= 22 SELECT * FROM usuario WHERE idade;< 24 SELECT * FROM usuario WHERE idade;<= 24 >db.cetiUser.find({idade: {$gt: 22}}); >db.cetiUser.find({idade: {$gte: 22}}); >db.cetiUser.find({idade: {$lt: 24}}); >db.cetiUser.find({idade: {$lte: 24}});
  • 33. Outros operadores: $all - retorna o objeto onde todos os valores foram encontrados $exists - retorna o objeto caso uma chave exista $or - retorna o objeto caso a cláusula OU for verdadeira $and - retorna o objeto caso a cláusula E for verdadeira $type - retorna o objeto caso a chave seja do tipo especificado para conferir a lista dos tipos e seus valores $ne (not equal) - retorna o objeto onde o valor não foi encontrado $in - retorna o objeto se o valor foi encontrado $nin (not in) - retorna o objeto se nenhum dos valores foi encontrado $nor (not or) - retorna o objeto caso a cláusula negação do OU for verdadeira $mod - retorna o objeto quando o módulo de um valor for encontrado Isaac Garcia Jorge
  • 34. Consultas ordenadas: Isaac Garcia Jorge SELECT * FROM usuario WHERE nome;ASC SELECT * FROM usuario WHERE nome;DESC >db.cetiUser.find().sort({nome:1}); >db.cetiUser.find().sort({nome:-1});
  • 35. Alteração: Isaac Garcia Jorge UPDATE cetiUser SET idade = 28 WHERE matricula = 2968 SELECT * FROM usuario WHERE nome;DESC > usuario = db.cetiUser.findOne({matricula: 2968}); > usuario.idade = 28 > db.cetiUser.save(usuario); ====================================================== > db.cetiUser.update({matricula: 2968},{$set: {matricula: 2900}});
  • 36. Criação de index: Isaac Garcia Jorge CREATE INDEX usuario_nome_index ON usuario (nome) > db.cetiUser.ensureIndex({nome:1}); > db.cetiUser.ensureIndex({nome:1,idade:1});
  • 37. Importação de dados de arquivo externo: > mongoimport --db [nome do banco] --collection [nome da collection] --file [camino] Isaac Garcia Jorge
  • 38. Executar script antes de alguma ação: > mongo [caminho do arquivo js] --shell Isaac Garcia Jorge
  • 41. Franklin (velho) (edição das imagens) Isaac Garcia Jorge Agradecimentos: Mauricio Martins (Business Intelligence)