Mongo DB de forma simples e rápida
Autor: Erivan Cledson
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.
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")
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()
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()
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()
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()
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
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'}}})
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()
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})
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
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.

Mongo DB de forma simples e rápida

  • 1.
    Mongo DB deforma simples e rápida Autor: Erivan Cledson
  • 2.
    Instalação Link para downloaddo 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 outrocmd 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 embancos 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 inserirdados 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 comoperadores 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 quetenha 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 quetenha 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 dosexo = 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 porordem 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 espera3 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 Paralimitar 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 ficadentro do seu usuário em uma pasta chamada dump C:UsersCledsondump Restaurando Dados Com o servidor mongod iniciado, abra outro terminal e digite mongorestore.