NoSQL – MongoDB Instalação e Comandos Básicos

Neste artigo vou tratar do Mongo DB, um sistema de banco de dados orientado á documentos, isso quer dizer que ele também é um NoSQL, mas diferente do Cassandra, ele é mais flexível em termos de consultas (query) e gerenciamento, além de possuir uma ótima documentação para o pessoal de desenvolvimento (PHP, C++, C#, Java, Ruby, Python…).

Para um primeiro passo, vamos à instalação no Windows, começando pelo download:
http://www.mongodb.org/downloads

Após extrair os arquivos, crie as pastas “data” e “logs”:

Para instalação, é interessante utilizar o prompt do DOS para acompanhar mensagens de erro que venham aparecer. Por questões de acessos, executar o prompt do DOS como Administrador também poderá ajudar, pois será criado um serviço do Windows durante o processo de instalação.

Na pasta “bin” execute o seguinte comando, informando o caminho para um arquivo de logs e a pasta onde ficarão os arquivos de dados.

mongod --bind_ip 127.0.0.1 --logpath c:\mongodb\logs\mongo.log --logappend --dbpath c:\mongodb\data --directoryperdb --install

Se tudo funcionar corretamente, haverá entre os serviços do Windows o Mongo DB, agora basta iniciá-lo:

Para desinstalação, também bem simples, utilize o comando:

mongod --remove

O Mongo DB também possui seu prompt de comando (mongo.exe), que por padrão já se conecta ao servidor local:

Alguns comandos como o help poderão ajudar a entender como “navegar” com o prompt, não chega aos pés do help do “PowerShell”, mas ajuda.

Para demonstrar a criação de um banco de dados e “tabelas”, vamos primeiro relacionar os bancos de dados existentes:

show dbs

Definir qual banco será utilizado (detalhe, ele ainda não precisa existir para ser utilizado) e para “materializá-lo” basta fazer um insert em uma “tabela” que também não precisa existir ainda, que o Mongo DB se encarregará de criar toda a estrutura para salvar seus dados:

use nomeDoBanco

db.coluna.insert({id: 1, nome: 'Paulo'})

Para uma primeira consulta, criaremos um registro com o comando insert e recuperaremos este valor com comando find. Por fim removendo os registros com o comando remove, sob o critério que os registros a serem apagados tenham a “coluna” id com o valor ‘1’:

db.coluna.insert({id: 1, nome: 'valor'})

db.coluna.find()

db.coluna.remove({id: 1})

db.coluna.find()

Removendo todos os dados com o comando remove sem estabelecer critério, vamos ao “UPDATE”, onde com uma variável será possível capturar o registro e realizar as alterações. Para que as alterações tenham efeito, usaremos o comando update segundo um determinado critério (como um WHERE no SQL) e a variável com os valores a serem alterados (como um SET no SQL).

db.coluna.remove()

db.coluna.insert({id: 1, nome: 'valor'})

var variavel = db.coluna.findOne({id: 1})

variavel

variavel.nome = 'novo valor'

variavel

db.coluna.update({id: 1}, variavel}

db.coluna.findOne({id: 1})

Apresentado o Mongo DB, amanhã vou utilizar o “driver” que a própria Mongo DB desenvolve e dá suporte, demonstrando como criar um GET/SET simples com C#.

Antes de eu ter terminado este artigo, nosso amigo Márcio F. Althmann (@mfalthmann) escreveu sobre a experiência dele com o MongoDB e o ASP.NET MVC 3, vale a pena conferir:
http://www.marcioalthmann.net/2011/01/brincando-com-o-mongodb

Deixe uma resposta

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