Buscar

Banco de Dados não relacionais IV

Prévia do material em texto

Banco de Dados 
Não-Convencionais
Material Teórico
Responsável pelo Conteúdo:
Prof.ª Me. Jessica Barbara da Silva Ribas
Revisão Textual:
Prof. Esp. Claudio Pereira do Nascimento
Interação e Manipulação de Dados no MongoDB
• Introdução;
• DataBase;
• Coleção;
• Operações CRUD (Create, Read, Update, Delete);
• Classificação de Dados;
• Índice;
• Mensurar Coleção;
• Consideração Finais.
 · Manipulação dos dados utilizado mongoDB.
OBJETIVO DE APRENDIZADO
Interação e Manipulação 
de Dados no MongoDB
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas: 
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você 
também encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão 
sua interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e 
de aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Interação e Manipulação de Dados no MongoDB
Introdução
O MongoDB assim como qualquer outro Banco NoSQL possui uma linguagem 
própria, contudo a sintaxe se assemelha ao JavaScript, outro ponto favorável para 
sua utilização em massa por desenvolvedores web.
Imagine que cada comando é uma função e que pode receber parâmetros para retor-
nar um resultado. Porém, neste caso, as funções podem ser “encadeadas” para indicar o 
local onde está sendo realizada a ação, por exemplo, necessita criar um arquivo x na cole-
ção z da base de dados, logo iria ser base de dados.z.add(x). O arquivo X é o parâmetro 
da função que ocorrerá na coleção z salva na base de dados.
Tenha em mente que o MongoDB não trabalha com transações tão consistente 
quanto as bases relacionais, logo se não tomar alguns cuidados, pode deixar seus dados 
inconsistentes, mas o MongoDB garante a característica de atomicidade em algumas 
operações, como criação e atualização de documentos.
Um lembrete, como o MongoDB é uma aplicação originada do mundo Linux, tem a 
característica de ser case-sensitive, ou seja, ele diferencia letras minúsculas e letras maiús-
culas, assim verifica-se o comando está escrito corretamente.
MongoDB (Aula 4) - Comandos de Informações das Bases de Dados - https://youtu.be/O2D8mIsaidQ
Ex
pl
or
DataBase
O comando “use” + Nome_da_Base é utilizado para indicar a base de dados que 
será utilizada, caso ela não exista, será criada. Já o comando “db” indica em qual base 
de dados está no momento, se quiser listar todas as bases de dados que contenham pelo 
menos um documento salvo, use o comando “show dbs”. Para apagar uma base dados, 
utilize o comando db. dropDatabase().
Os comandos anteriores estão exemplificados na Figura 1, é possível verificar que 
ao entrar no MongoDB, por padrão, estamos na base de dados test, a seguir utilizou-se 
o comando use para criar a database produto e apagá-la.
8
9
Fi gura 1 - Comandos Executados na Base Dados
Coleção
Para criar uma coleção, pode-se utilizar o comando “createCollection()”, tendo a 
sintaxe db.createCollection (“nome da coleção”), conforme exemplificado na Figura 2, 
quando a coleção é criada, há o retorno “ok”. Este comando também permite dimen-
sionar um tamanho para coleção junto a sua criação.
Mas caso necessite criar uma coleção enquanto insere um arquivo, basta realizar 
a ação de inserção do documento, e se a coleção não existir na base de dados em 
uso, ela será criada.
Os comandos “show collections” ou “sh ow tables” mostram a coleção recém-cria-
da. Quando necessário apagar uma coleção, utilize o comando “drop()”, na sintaxe 
“db.Nome_coleção.drop()”, conforme mostrado na Figura 2, o sistema apresentará um 
retorno true ou false como resposta a solicitação.
Fig ura 2 - Manipulação da Coleção
9
UNIDADE Interação e Manipulação de Dados no MongoDB
Operações CRUD (Create, Read, Update, Delete) 
A operação de criação, nada mais é do que a inserção de arquivos em uma cole-
ção, mas caso a coleção não exista na base de dados, ela será criada automaticamen-
te. Todas as operações são realizadas em uma única coleção e todas as operações de 
escrita são atômicas no nível de um único documento.
Comandos: insert(), insertOne() e insertMany(), a sintaxe padrão desses coman-
dos é indicada na Figura 3.
Figura 3 - Criação de Arquivo
Durante a inserção do documento, o MongoDB criará um campo único nomeado 
“_id “ do tipo “Objectid”, com o objetivo de ser uma verificação que o arquivo está 
salvo. O “objectid” é um valor especifico relacionado à máquina e ao seu tempo de 
processamento da transação.
As consultas são realizadas com o comando “find()” em uma única coleção, confor-
me a sintaxe mostrada na Figura 4. Também há o comando findOne() que retorna o 
resultado das buscas em um único documento.
Figura 4 - Pesquisa na Base de Dados
Operadores Condicionais no MongDB - https://goo.gl/Vtfx7K
Ex
pl
or
Este comando irá exibir todos os documentos não estruturados. Caso deseje vi-
sualizar os documentos de forma estruturada, utilize o comando pretty(), conforme 
exemplificado na Figura 5.
10
11
Figura 5 - Resultado dos Comandos fi nd() e pretty()
Caso necessário utilizar operadores de busca conforme mostrado na Figura 6, o fil-
tro “where” tem a sintaxe “chave:valor”. Já o “and” e o “or” tem as seguintes sintaxes: 
“and {c have 1:valor1, chave2:valor2}” ; “$or:[{chave1: value1},{chave2:value2}].
É comum utilizar expressão regular para realizar as consultas no MongoDB. Neste 
caso, utiliza-se o operador $regex:expressão_regular. O padrão da expressão regular 
compatível ao MongoDB é o PCRE (Perl Compatible Regular Expression, expressão 
regular compatível com Perl).
Figura 6 - Resultado da Busca com Filtros
MongoDB regex - https://goo.gl/11fdoD
Ex
pl
or
A atualização do documento pode ser realizada com os comandos update(), 
updateMany() e replaceOne() conforme sintaxe padrão indicada na Figura 7. As 
atualizações serão realizadas em um arquivo de cada vez e não deve afetar os outros 
documentos, tendo assim as propriedades de escrita atômica.
11
UNIDADE Interação e Manipulação de Dados no MongoDB
Figura 7 - Atualização de Dados
Para apagar documentos em uma coleção, pode-se utiliza os comandos: “deleteOne()” 
e “deleteMany()”, deve-se seguir a sintaxe mostrada na Figura 8. Para a exclusão de todos 
os documentos da coleção, é indicado excluir a coleção, o comando “deleteOne()” exclui 
apenas um documento, o primeiro encontrado no critério de filtragem, já o “deleteMany()” 
apaga todos os arquivos que seguem o critério de filtragem, mas ao tentar apagar todos os 
arquivos da coleção, deverá retornaruma mensagem de erro.
Figura 8 - Ação de Apagar os Documentos
A Figura 9 mostra os resultados dos comandos “update()” e “deleteOne()” utilizando o 
filtro compatível ao “where”. Não esquecer que as ações de atualização e exclusão reque-
rem filtros, para não acabar apagando documentos desnecessários, assim perdendo dados.
Figura 9 - Resultado das Ações de Atualização e Exclusão de um Documento
12
13
Classifi cação de Dados
Para classificar documentos, utiliza-se o comando “sorte()”, deve-se informar por 
qual chave você deseja ordenar e a sequência de ordenação, a Figura 10 classificou 
busca pela chave “titulo” em ordem crescente (para ordem decrescente utiliza-se -1).
Figura 10 - E xemplo Ordenação Crescente pelo Titulo
Índice
Os índices são necessários para indicar rapidamente quais chaves existem den-
tro de uma coleção, sem precisar abrir todos os arquivos da coleção de cada vez. 
Otimiza o retorno de consultas e outras operações relacionadas. Na Figura 11 foi 
criado o índice título ordenado de forma crescente na coleção testeA, utilizando o 
comando “ensureIndex()”, não esquecer a regra de 1 para ordenação crescente e 
-1 para decrescente.
Figura 11 - Cr iar Índice em Ordem Crescente na Coleção TesteA
13
UNIDADE Interação e Manipulação de Dados no MongoDB
Mensurar Coleção
O comando “count()” permite saber quantos arquivos têm em uma determinada 
coleção. Mas se deseja saber o tamanho da coleção, deve-se usar o “stats()”, con-
forme exemplificado na Figura 12,
Figura 12 - Resultado Comandos Count e Stats
Consideração Finais
Num primeiro momento, a manipulação de dados no MongoDB pode parecer 
confusa quanto ao se comparar com o padrão SQL, contudo, toda informação nova 
causa um certo desconforto inicial até acostumar.
Nesta aula foi abordado alguns comandos básicos de manipulação de dados no 
MongoDB, caso tenha gostado, aprofunde seu conhecimento sobre esta base de dados 
que é uma das mais utilizadas atualmente e possui um paradigma e linguagem bem 
diferente dos demais Sistemas Gerenciador de Banco de Dados.
14
15
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Sites
Não seja um mongo com MongoDB
https://goo.gl/oT9TnQ
MongoDB - Guia Rápido
https://goo.gl/E7cj1g
Explore o MongoDB
https://goo.gl/WiA5ot
Tutorial MongoDB para Iniciantes em NoSQL - Parte 2
https://goo.gl/W7183r
Como usar o console do MongoDB
https://goo.gl/KYCcmW
15
UNIDADE Interação e Manipulação de Dados no MongoDB
Referências
HOWS, David; MEMBREY, Peter; PLUGGE, Eelco. Introdução ao MongoDB. Ed. 
Novatec, 2015.
MONGODB, Manual MongoDB. Disponível em: < https://docs.mongodb.com/
manual/crud/>. Acesso em 12/2017.
MONGOG, Glossary. Disponível em: <https://docs.mongodb.com/manual/refer-
ence/glossary/>. Acesso em 01/2018
PICHILIANI, Mauro C. Introdução do MongoDB: O Ponto de Partida para quem 
quer Trabalhar com o Banco de Dados NoSQL Orientado a Documentos. 2016
16

Continue navegando