De acordo com o site DB-Engines o MongoDB é o 5º Bando de Dados mais utilizado no mundo! Faz parte do quadrante mágico do Gartner, e é o banco de dados NoSQL mais usado no mundo! Espero que as estatísticas te convençam que conhecer o MongoDB é um enorme diferencial na sua carreira e também te ajudará a criar aplicativos excelentes!
Este é o quarto post da série sobre o MongoDB. Os outros foram:
1- 3 coisas que você deve saber sobre a instalação do MongoDB.
2- 9 itens extremamente importantes que você precisa saber sobre o MongoDB
3- O que você precisa saber antes de acessar o MongoDB
Agora você já tem o MongoDB instalado, criou seu diretório de dados, conhece um pouco da arquitetura, já sabe que para o você precisa iniciar o serviço (mongod) e sabe que utilizaremos o executável mongo.exe para interagir com o MongoDB.
Mas e os dados? Manipulá-los será o desafio dos próximos posts!
Relembrando conceitos
Antes de continuar você deve lembrar que no MongoDB temos Bancos de Dados, que cada BD contém coleções e que as coleções contém documentos.
Os documentos contém dados semi-estruturados normalmente no formato JSON.
O MongoDB é schema less o que significa que cada documento de uma coleção pode ter uma estrutura totalmente diferente.
Criando Banco de Dados
O primeiro passo para criar executar os comandos descritos é criar o banco de dados. e isso é feito com o comando
use NomeBD
Criando a sua primeira coleção
Para criar uma coleção o comando é bem intuitivo:
db.createCollection(“nome coleção“, {capped:true|false, size:20000})
Se a coleção é default o comando pode ser “resumido”para:
db.createCollection(“nome coleção”)
O que é o parâmetro capped?
Uma capped collection é um tipo de coleção com tamanho fixo, onde os documentos dentro dela não podem ser alterados, e que quando atinge o seu tamanho máximo, automaticamente exclui os documentos mais antigos.
Inserindo dados na sua coleção
- Uma das formas de inserir dados no MongoDB é o comando insert, que possui a seguinte sintaxe:
- db.NomeColeção.insert(documento JSON)
- db.NomeColeção.insertOne(documento JSON)
- Para inserir vários documentos no MongoDB
- db.NomeColeção.insertMany([documento 1, documento 2,…])
- Para verificar a quantidade de documentos em uma coleção
- db.NomeColeção.count()
O atributo _id
Todos os documentos de todas as coleções possuem um atributo _id, que é o identificador único de um documento.
Quando incluímos um documento é possível atribuir um valor para o _id, se o seu valor não é informado, o MongoDB gera um valor único automaticamente.
Exclusão MongoDB
- Se você esperava um comando delete, sinto em te decepcionar, mas no MongoDB, a função remove() deleta os documentos de uma coleção que obedecem a um determinado critério
- db.NomeColeção.remove({nomeAtributo : valor do atributo})
- Se nenhum atributo for informado todos os dados da coleção são excluídos
- db.NomeColeção.remove({})
- Para excluir uma coleção inteira usamos o método drop();
- db.NomeColeção.drop()
- Para excluir o banco de dados
- db.dropDatabase()
Vamos treinar?
Agora que já apresentei os principais comandos, convido você abrir o mongo.exe e treinar um pouco com os scripts abaixo.
Não sinta-se preso! A graça aqui é manipular os dados… Então não perca a oportunidade de testar, alterar o JSON usado no exemplo, criar várias coleções, enfim divirta-se!!!
1-) Listar os comandos aplicáveis ao banco de dados
db.help()
2-) Verificar todos os bancos de dados do servidor
show dbs
3-) Verificar o banco de dados que está sendo usado
db
4-) Você pode criar variáveis no MongoDB, eu usei este recurso para deixar o código mais fácil de entender. Criar uma variável é muito simples: nomeDaVariável = Documento JSON
4a-) Crie a variável documento1
documento1= ({
“Site”: “db4beginners.com”,
“Categoria”: “CriarArtigo”,
“DataPublicação”: “09-23-2017”,
“PalavrasChave”: [
“mongoDB”,
“DB4B”,
“Banco de Dados”,
“NoSQL”
]})
4b-) Criar variável chamada documento2
documento2= ({
“NomeSite”: “db4beginners.com”,
“titulo”: “Instalação MongoDB”,
“categoria”: “ValidarArtigo”,
“DataPrevista”: “09-24-2017”,
“DataPublicaçao”: “09-25-2017”,
“keyWords”: [
“mongoDB”,
“DB4B”,
“Banco de Dados”,
“NoSQL”
],
“Finalizado”:false
});
4c-) Criar variável chamada documento3
documento3= ({
“_id” : “Dani”,
“NomeSite”: “SQL4.us“,
“titulo”: “Certificação SQL Server”,
“categoria”: “Gravar Vídeo”,
“Canal Youtube”: “DB4Beginners”,
“keyWords”: [
“SQL Server 2016”,
“70-761”,
“Banco de Dados”,
“Relacional”
],
“Finalizado”:true
})
Pergunta da Dani… Você percebeu alguma diferença entre os documentos?
Perceba que no documento 3 eu atribui um valor para o atributo _id.
5-) Inserir um documento na coleção
db.Atividades.insert(documento1)
OU
db.Atividades.insertOne(documento1)
6-) Inserir vários documentos em uma coleção
db.Atividades.insertMany([documento2, documento3])
Para quem não conhece o JSON, quando as [] indicam que estamos usando um array. No caso da função insertMany estamos passando para ela como parâmetro um array de documentos JSON.
7-) Mostrar a quantidade de documentos em uma coleção
db.Atividades.count()
😎 Deletar os documentos da coleção com o atributo Finalizado = false
db.Atividades.remove({Finalizado : false})
9-) Deletar todos os documentos da coleção
db.Atividades.remove({})
10-) Contar a quantidade de documentos na coleção
db.Atividades.count()
11-) Deletar a coleção
db.Atividades.drop()
12-) Verificar se existe alguma coleção
show collections
13-) Deletar banco de dados
db.dropDatabase()
Conclusão
Neste post nós criamos um banco de dados, uma coleção, inserimos dados na coleção e excluímos os dados. Espero que você já esteja mais familiarizado com o MongoDB.
Nos próximos posts falaremos sobre a consulta e alteração dos dados.
Se você tem alguma dúvida, é só me procurar no Twitter, ou no facebook, ou comentando este post, ou no formulário de contato.
Lembre-se que conhecer MongoDB é um diferencial para a sua carreira e pode ajudar você a criar um aplicativo excelente!
Referências
https://db-engines.com/en/ranking
https://msdnshared.blob.core.windows.net/media/2017/03/magicQuadrantDMSA.png
Livro Introdução ao MongoDB (https://novatec.com.br/livros/introducao-ao-mongodb/)
Imagens: https://selectasterisco.wordpress.com/2013/08/30/incluirexcluir-tablas-al-exportarimportar/
http://www.andytuly.co.uk/Insert-Delete-Cufflinks