O documento fornece instruções sobre como instalar e usar o MongoDB, incluindo como iniciar o servidor e cliente, criar e consultar bancos de dados e coleções, inserir e atualizar documentos, e fazer backups e restaurações de dados.
1. Mongo DB de forma simples e rápida
Autor: Erivan Cledson
2. Instalação
Link para download do mongo DB:
https://www.mongodb.com/download-center?jmp=nav#community
No menu Community Server escolher o mongo de acordo com o seu sistema
operacional.
No Windows Instalação é bastante simples, ir somente avançando as etapas.
Após instalar criar uma pasta chamada data no disco local c e dentro desta
pasta data criar uma pasta chamada db.
Depois é só ir nas variáveis de ambiente do Windows e informar no path do
usuário o caminho aonde se encontra a pasta bin do mongo db :
C:Program FilesMongoDBServer4.0bin
Agora vamos abrir o cmd e digitar mongod, para inicializar o servidor do
mongo db.
3. Vamos abrir outro cmd e manter o que está com o mongod aberto, para iniciar
o cliente mongo db é só digitar no novo cmd que foi aberto a palavra mongo.
No cliente mongo é aonde vamos inserir os comandos.
Comandos
Exibir banco de dados:
show dbs;
O comando use é seguido pelo nome do banco de dados, ele verifica se tem a
base de dados informada se existir ele permite a utilização da mesma, se não
existir ele prepara para criar:
use cursos;
Se utilizarmos novamente o comando show dbs, vamos perceber que o banco
não foi criado
Ele só vai aparecer de fato quando inserirmos informação no banco de dados,
vamos digitar o comando use cursos novamente e agora criar uma collection
em cursos:
db.createCollection("professores")
4. A collection em bancos relacionais seria uma tabela.
Agora vamos utilizar o comando show dbs e vamos ver que o banco de dados
cursos foi realmente criado.
Agora vamos ver a relação de collection que temos dentro do banco de dados:
db.getCollectionNames()
E podemos também saber as collection que temos em um banco de dados
através do comando:
show collections
Vamos criar outra collection para aprendermos a deletar a mesma:
db.createCollection("notas")
Criei a collection notas agora para deletar a mesma é so usar o seguinte
comando:
db.notas.drop()
5. Iserindo documentos
Vamos inserir dados na collection professores:
db.professores.save({ nome: 'Erivan', idade: 60, sexo: 'M', cpf: '111.111.111-
11'})
Vamos inserir mais 2:
db.professores.save({ nome: 'Ana', idade: 19, sexo: 'F', cpf: '111.321.111-11'})
db.professores.save({ nome: 'Marcos', idade: 30, sexo: 'F', cpf: '111.111.111-
11'})
Inserindo documento na collection com os cursos que ela ensina:
db.professores.save( { nome: 'helena', idade: 23, sexo: 'F', ensina:[{curso: 'java
web'}, {curso: 'curso linguagem c'}]} )
Funções
Para ver todos os documentos de uma collection:
db.professores.find()
Para ver de forma mais organizada é só adicionar pretty() no final do comando:
db.professores.find().pretty()
6. Consultando documentos com operadores de comparação
OPERADOR
SQL
Operador Nome Operação
= $eq Equals É igual a
> $gt Greater Than É maior que
>= $gte Greater Than or
Equal
É maior ou igual
a
< $lt Less Than É menor que
<= $ltr Less than or qual É menor ou igual
a
!= / <> $ne Not Equal É diferente de
Listar nome que seja igual a Erivan
db.professores.find({nome:{$eq:"Erivan"}}).pretty()
7. Listar professores que tenha a idade menor que 30
db.professores.find({idade:{$lt:30}}).pretty()
Listar professores que tenha idade menor ou igual a 30
db.professores.find({idade:{$lte:30}}).pretty()
Listar professores que tenha idade maior que 19
db.professores.find({idade:{$gt:19}}).pretty()
8. Listar professores que tenha idade maior ou igual a 30
db.professores.find({idade:{$gte:30}}).pretty()
Listar professores que tenha sexo diferente de masculino
db.professores.find({sexo:{$ne:'M'}}).pretty()
Consultando documentos com operadores lógicos
AND
OR
NOT
NOR
9. Listar professores do sexo = M and idade > 30
db.professores.find({sexo:{$eq:'M'}, idade:{$gt:30}}).pretty()
Listar professores com o nome Erivan ou Ana
db.professores.find({$or:[{nome:{$eq:'Erivan'}},{nome:{$eq:'Ana'}}]}).pretty()
Listar os professores com nome que não seja Ana, utilizando o $nor:
db.professores.find({$nor: [ {nome: 'Ana'}]})
Lista os professore com o nome que não seja Ana, utilizando o $not:
db.professores.find({nome:{ $not: {$eq: 'Ana'}}})
10. Ordenando professores por ordem decrescente, utilizando o comando $sort:
db.professores.find({}, {}).sort({nome: -1}).pretty()
Função de agregação
Projections: mostra as colunas que vai ser exibida na seleção
Mostra somente o nome:
db.professores.find({}, {nome: 1}).pretty()
exibe o nome e a idade:
db.professores.find({}, {nome: 1, idade: 1}).pretty()
Agora com projections eu quero que na listagem não apareça um determinado
campo:
Eu não quero que apareça o nome
db.professores.find({}, {nome: 0}).pretty()
11. Atualizando documentos
Update espera 3 parâmetros.
update({parametros para atualização},{$set},{multi:false})
multi: false por default. Atualiza o primeiro documento que ele encontrar, se for
true se 50 documentos tiver a atendendo a condição ele vai atualizar todos.
set é o parametro que vai conter o nome da atualização.
Alterar o nome de Erivan para Cledson Costa
db.professores.update({nome: 'Erivan'}, {$set: {nome: 'Erivan Costa'}})
Alterar o sexo de Marcos de F para M
db.professores.update({nome: 'Marcos'}, {$set: {sexo: 'M'}})
Alterar nome e idade de Marcos
db.professores.update({nome: 'Marcos'}, {$set: {nome: 'Marcos macedo', idade:
23}})
Alterar a idade de todos de M para Masculino, utilizando o multi passando true
db.professores.update({sexo: 'M'}, {$set: {sexo: 'Masculino'}}, {multi:true})
12. Limite de Documentos
Para limitar os registros, utilizamos o método limit(). Dentro do limit() você
passa o total de registros que quer visualizar:
db.professores.find().limit(1);
Comando skip
Utilizado para pular número de documentos.
Exemplo usando limit() e skip():
Limitar para exibir somente 1 usuário, pulando o primeiro registro.
db.professores.find().limit(1).skip(1)
Removendo documentos
Deletar professor Erivan Costa
db.professores.remove({nome:'Erivan Costa'})
Deletar todos professores que tenha a idade maior que 20
db.professores.remove({idade:{$gt:20}})
Geração de Backups no MongoDB
Dump MongoDb Data
Inicia o servidor com o comando: mongod no terminal. Depois abre outro
terminal e digita o comando: mongodump
13. O backup fica dentro do seu usuário em uma pasta chamada dump
C:UsersCledsondump
Restaurando Dados
Com o servidor mongod iniciado, abra outro terminal e digite mongorestore.