Buscar

Introdução ao mongoDB

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

noSQL
 Not Only Sql
Autor
Vagner de Oliveira dos Reis
Instalação e configuração:
1. Instalação Linux
 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 
9DA31620334BD75D9DCB49F368818C72E52529D4
 echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 
multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
 sudo apt update
 sudo apt-get install -y mongodb
 sudo apt install mongodb-org
Após a instalação verifique se o mongo esta ativo.
 sudo systemctl status mongodb 
Se necessário habilite e/ou inicie o serviço.
 sudo systemctl enable mongodb
 sudo systemctl start mongodb
Pronto ! Agora rode o seguinte comando para verificar se tudo ocorreu bem :
mongo – -version
2. Instalação Windows 
 Passo 1
 Acesse a seguinte pagina :
https://www.mongodb.com/download-center/community
 após baixar , execute o instalador , nessa etapa você pode sempre seguir NEXT , e por 
fim INSTALL.
 Após a instalação ser concluída navegue ate a pasta C:\mongodb\bin 
para visualizar os arquivos gerados
Passo 2
 Você precisa criar um diretório para armazenar os dados , crie o seguinte 
diretório : c:\mond\db
https://www.mongodb.com/download-center/community
 Abra um prompt de comando de sua preferência e execute o 
seguinte comando C:\mongodb\bin\mongod.exe --dbpath C:\data\db\
Passo 3 
 Adicione o mongodb as variáveis de ambiente , clique com o botão direito em Meu 
Computador depois em Propriedades e por fim clique em configurações avançadas do 
sistema.
 Clique em variáveis de ambiente 
 Clique em editar na variável path 
 Por fim , cole o seguinte caminho 
 
Agora o mongodb pode ser acessado em qualquer parte do sistema não sendo necessário estar na 
pasta onde foi instalado.
Comando Iniciais
 Antes de começar a desenvolver precisamos “entrar” no mongodb , abra o terminal e 
execute o comando mongo.
 Pronto agora podemos iniciar os scripts.
Crie uma tabela
 use catalago
 
 Cria uma base de dados chamada catalago , obs .: se tentarmos listar as tabelas existentes
, a tabela criada anteriormente não será mostrada pois ela não contem nem uma collection 
presente dentro dela , uma tabela só se torna visível se conter ao menos uma collection . 
Agora que já temos uma base de dados criada vamos criar uma collection para o catalago 
com o nome de filmes.
db.createCollection(‘filmes’);
 Agora , com a collection criada vamos inserir três registros .
db.filmes.insert( 
{
nome: "A era do gelo",
ano: new Date(2000,10,10),
equipe: 
 {
 direcao: ["Alberto Martes","Ana Maria de Catro"],
 animacao: ["Kelly Oliveira","Paulo Silva","Dianna Monteiro"]
 },
paisesNo: ["Coréia do Norte","Japão"]
}
);
--------------------------------------------------------
db.filmes.insert( 
{
nome: "Jogos Virtuais",
ano: new Date(2010,09,09),
equipe: 
 {
 direcao: ["Alberto Martes","Silvia Magalhães"],
 animacao: ["Petter Willian","Janaina Moraes de Mello","Alvaro Peres Aldaz"]
 },
paisesNo: ["Coréia do Norte","Japão"]
}
);
------------------------------------------------------------
db.filmes.insert( 
{
nome: "Jogos Mortais IV",
ano: new Date(2018,10,06),
equipe: 
 {
 direcao: ["Maria Clara","Wellison de Jesus "],
 animacao: ["Ariana Cordoba","Ricardo José de Assís","Camila de Castro"]
 },
paisesNo: ["China","Canada"],
faixaEtaria: "18"
}
);
Pronto , agora com as três collections podemos executar algumas ações 
como listar , alterar , deletar entre outros.
Para listar todos os filmes existentes podemos usar o comando:
db.filmes.find();
Ou com uma formatação mais amigável:
db.filmes.find().pretty()
Para filtrar um dado específico pode ser passado um ou mais argumentos
dentro do find , observe alguns exemplos.
Exemplo 1 pelo id do documento:
 db.filmes.find ( 
 {
 “_id”: ObjectId(“0f12f6f4f6f4f4”) 
 })
Exemplo 2 um da direcao e nome do filme: 
db.filmes.find( 
{
"equipe.direcao": "Alberto Martes",
"nome": "Jogos Virtuais",
}
);
traz um resultado
Exemplo 3 um da direcao ou nome do filme:
db.filmes.find( {
 $or: [
{"equipe.direcao": "Alberto Martes"},
{"nome": "Jogos Virtuais"},
 ]
})
 traz dois resultados
Exemplo 4 um da direcao ou nome do filme e equipe animacao:
db.filmes.find( {
$or: [
{"equepe.direcao": "Alberto Martes"},
{"nome": "Jogos Virtuais"},
],
"equipe.animacao": "Petter Willian"
})
 traz um resultado
Exemplo 5 que contenha um da equipe de animacao:
db.filmes.find( { 
"equipe.animacao": {
 $in: [ 
"Camila de Castro" ,
"Alvaro Peres Aldaz" 
]}})
Exemplo 6 , você pode reparar que no terceiro registro em 
equipe.direcao inserimos "Wellison de Jesus " com um espaco em branco no 
final do nome , com o update podemos retirar esse espaço:
db.filmes.update( 
{ 
"equipe.direcao": "Wellison de Jesus " 
},
{
 $set: 
 { 
 "equipe.direcao": "Wellison de Jesus" 
 } 
} )
O exemplo acima por padrão e por motivo de segurança só altera o valor
de um registro , caso precise alterar o valor em mais de uma ocorrência 
usar o multi = true , ex.:
db.filmes.update( 
{ 
"equipe.direcao": "Wellison de Jesus " 
},
{
 $set: 
 { 
 "equipe.direcao": "Wellison de Jesus" 
 } 
} ,
{
 multi: true
})
Exemplo 7 , altera todos os elementos do array direção onde o nome e Jogos 
Virtuais :
db.filmes.update(
{
"nome": "Jogos Virtuais"
},
{
$set: {
"equipe": 
{
"direcao": ["Namoel Akali","Jorge Silva"]
}
}
}
) 
Exempro 8 , adiciona mais um diretor onde o nome e o paissesNo 
correspondam :
db.filmes.update(
{
nome: "A era do gelo",
paisesNo: "Coréia do Norte"
},
{
$push: {
 "equipe.direcao" : "Anitta Fernandes"
}
}
) 
Ou podemos adicionar o item no array somente se ele ainda não existir. 
Comando $addToSet :
db.filmes.update(
{
nome: "A era do gelo",
paisesNo: "Coréia do Norte"
},
{
$addToSet: {
 "equipe.direcao" : "Anitta Fernandes"
}
}
) 
Para adicionar mais de um registro ao mesmo tempo usar o comando 
$each :
db.filmes.update(
{
nome: "A era do gelo",
},
{
$push: {
 "equipe.direcao" : 
 {
 $each: ["Novo Diretor 01", "Novo Diretor 02"]
 }
}
}
) 
Comandos iniciais parte 2
 Vamos criar uma nova collection com o nome de mediaClassificacao e inserir os seguintes 
documentos:
Primeiramente crie uma collection:
db.createCollection(‘ mediaClassificacao’);
Depois insira os documentos:
db.mediaClassificacao.insert({
mes : "janeiro",
classificacao: [5.5 , 7.1 , 5.9 , 6.1]
})
db.mediaClassificacao.insert({
mes : "Fevereiro",
classificacao: [8.5 , 8.2 , 7.9 , 9.1]
})
db.mediaClassificacao.insert({
mes : "Abril",
classificacao: [4.5 , 6.2 , 2.9 , 4.1]
})
 Agora vamos fazer uma busca com as classificações maior que 7:
db.mediaClassificacao.find({
 classificacao : { $gt : 7}
})
Perceeba que traz dois resultados , caso queira trazer somente um usar o
findOne:
db.mediaClassificacao.findOne({
 classificacao : { $gt : 7}
})
O comando $nin não traz os elementos especificado dentro do array: 
db.mediaClassificacao.findOne({
 classificacao : { $nin : [4,5 , 8,5]}
})
Também é possível buscar os documentos de forma ordenada com o 
comando sort:
db.mediaClassificacao.find().sort({mes : 1}) → Ordem crescente
db.mediaClassificacao.find().sort({mes : -1}) → Ordem decrescente 
Agora vamos trazer de em ordem crescente os dois primeiros resultados 
com notas mais que 2
db.mediaClassificacao.find({
 classificacao : { $gt : 2}
 })
 .sort({"mes": 1})
 .limit(2)
Tabela com os principais operadores :

Outros materiais