Primeiros passos com MongoDB

O MongoDB é um banco de dados documental (Orientado a documentos) open source que proporciona escalabilidade e flexibilidade ao projeto pois ele aninha os dados em documentos JSON e BSON, com isso se tornam simples as buscas. Nesse post farei uma Introdução ao formato “Javascript Object Notation” (JSON), ao BSON e aos primeiros passos com o MongoDB.

O JSON é um formato leve de troca de dados. Para seres humanos, é simples de ler e escrever e para máquinas, é fácil de interpretar e gerar.Quando se fala em aplicações AJAX, o JSON é mais rápido e mais fácil do que o XML.

Com o formato JSON, sempre teremos objetos de Chave-Valor, onde podemos observar alguns pontos característicos:

– As chaves são do tipo “String”.

– O delimitador entre Chave-Valor é o “:” (dois pontos).

– Cada entrada “Chave-Valor” é separada por “,” (vigula).

– Cada objeto JSON é delimitado por “{}” (Chaves).

Utilizando o exemplo abaixo, explicarei os campos que podem compor o “Valor” dentro de um objeto do formato Json.

 

– O nome do livro e a data de lançamento são do tipo “String”.

– A quantidade de páginas é do tipo numérico.

– O status de publicado é do tipo booleano.

– Já o Gênero está recebendo uma matriz.

OBS: Podemos ter valores dos tipos (string, number, object, array, true, false, null)

No mongoDB como complemento ao JSON, existe o BSON que suporta a incorporação de objetos e matrizes dentro de outros objetos e matrizes, ou seja o MongoDB através do BSON cria índices e compara objetos com expressões de consulta em chaves BSON de nível superior que estão aninhadas, isso significa que o MongoDB oferece aos usuários a simplicidade e a flexibilidade dos documentos JSON, juntamente com a velocidade e a riqueza de um formato binário leve.

Basicamente o BSON nasceu com três vértices principais:

– “Lightweight” (Leveza):

O BSON mantem a sobrecarga no mínimo e isso é importante para qualquer formato de representação de dados, especialmente quando usado na rede.

– “Traversable” (Atravessáveis):

O BSON é projetado para mover-se facilmente. Esta é uma propriedade vital para o MongoDB.

– “Efficient” (Eficiente) :

A Codificação de dados e decodificação do BSON pode ser realizada muito rapidamente na maioria das linguagens devido ao uso de tipos de dados C.

Para maiores informações sobre o BSON, segue o link do bsonspec http://bsonspec.org/

Após esta rápida introdução, vamos instalar e dar os primeiros passos com o MongoDB, nesse exemplo vou fazer a instalação em um CentOS, caso você precise instalar em outra plataforma, deixo o link oficial.

– Instalação no Linux.

– Instalação no Windows.

– Instalação no OS X.

Primeiramente vamos adicionar o repositório do MongoDB.

vim /etc/yum.repos.d/mongodb-org.repo

[mongodb-org-3.4]

name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

 

Vamos atualizar nossa lista de repositórios.

yum repolist

Instalando o MongoDB.

yum install mongodborg

Habilitando o MongoDB em todo boot.

systemctl enable mongod

Iniciando o serviço do MongoDB.

systemctl restart mongod

Nesse momento já podemos acessar a CLI do MongoDB, utilizando o comando “mongo”.

mongo
MongoDB shell version v3.4.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.3
>

Quando acessamos a CLI, nos é mostrado a versão do shell, a string de conexão (mongodb://127.0.0.1:27017) nesse caso localhost e a versão do MongoDB instalado.

OBS: Para limpar a tela, podemos utilizar o “CTRL+L ou cls”

Para termos acesso a uma lista completa de comandos, podemos utilizar o help

 

> help

Vamos listar todos os bancos de dados existentes.

> show dbs
admin 0.000GB
local 0.000GB

 

Por padrão o mongoDB vem com duas bases criadas (local e admin), ambas vazias.

Como o MongoDB é um banco de dados documental, ele não trabalha com tabelas e sim “Collections”, para criarmos as nossas collections precisamos estar dentro de algum banco de dados, para acessamos um banco de dados utilizaremos o comando “use”.

> use livros

 

Percebam que o banco de dados “livros” não existia, quando usamos o comando “use” ele verificou a existência, nesse caso como não existia ele criou automaticamente. Para realizarmos operações de inserção, atualização, leitura e remoção de dados no MongoDB, podemos usar algum script remoto fazendo isso ou podemos executar isso direto no shell. Se executarmos direto no shell, podemos usar uma variável global chamada “db”, essa variável faz referencia ao banco de dados no qual você está conectado, no nosso caso o banco “livros”.

Com esse comando nós vamos fazer uma inserção única em uma collection que ainda não existe.

 

> db.misterios.insertOne({ nome : Ponto de Impacto})
{
acknowledged : true,
insertedId : ObjectId(58ee79afcc3801bb06082423)
}

 

Esse retorno indica duas coisas:

1. A gravação foi reconhecida;

2. Foi gerado um campo único e ele foi atribuído ao documento (todo documento precisa de um _id).

Após isso, a collection “misterios” acabou de ser criada, e possui um documento, para verificar o conteúdo dela, vamos gerar uma listagem completa.

 

1
2
3
> db.misterios.find()
{ “_id” : ObjectId(“58ee79afcc3801bb06082423”), “nome” : “Ponto de Impacto” }

 

Um ponto interessante é que mesmo não passando, o próprio mongo inseriu o campo “_id”, parece ser algo totalmente aleatório, porem segue uma sequencia lógica, é uma string com 12 bytes hexadecimais, como descrito abaixo.

      Data             Mac Address              Pid                 Contador

ObjectId:         _ _ _ _       |           _ _ _            |           _ _         |            _ _ _

Os quatro primeiros campos são criados a partir do segundo atual da máquina, em seguida 3 campos nascem com base no endereço Mac da máquina, depois dois campos surgem do “Process ID” e por último um contador randômico que gera mais 3 bytes.

Farei uma sequencia de posts relacionados a MongoDB, nos posts seguintes, mostrarei outros métodos de inserção e faremos o CRUD utilizando a shell do MongoDB. Espero que esse primeiro post esclareça alguns conceitos do MongoDB e de como ele funciona.

 

 

 

 

Fonte: https://www.fordevops.com/primeiros-passos-com-mongodb/

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s