Baixe o app para aproveitar ainda mais
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
Compartilhar