Conhecido anteriormente como MongoLab, o mLab é um serviço de banco de dados gerenciável que hospeda na nuvem um banco de dados MongoDB (SGBD do tipo NoSQL) e é executado em provedores como Aws (Amazon), Google Cloud e Microsoft Azure. Ele oferece gratuitamente 500 MB para armazenamento de dados.
A seguir vamos aprender como criar um banco de dados na nuvem e como acessá-lo e inserir dados através de uma aplicação cliente.
Criando um banco de dados na nuvem
Precisamos executar os passos abaixo para criar um banco de dados remoto:
1 – Crie uma conta no site mLab.
2 – Faça login no site e clique em Create New na área MongoDB Deployments.
3 – Escolha o tipo de plano Sandbox, já que a nossa necessidade no momento é só aprender como funciona a ferramenta.
4 – Escolha um nome para o banco de dados.
Pronto, o banco de dados remoto foi criado. E será possível vê-lo na área de usuário.
Clicando sobre o nome do banco criado poderemos ver as informações sobre a string de conexão, que iremos usar mais para frente na criação da aplicação cliente. E mais para baixo poderemos criar Collections, Users, Stats, Backups e Tools.
Por hora vamos criar um User clicando em Add database user.
Pronto, criamos o nosso banco de dados chamado exemplomlab na nuvem!
Criando uma aplicação cliente para acessar o banco
Agora que criamos o nosso banco de dados vamos acessá-lo por meio de uma aplicação node.js que vamos criar a seguir.
Crie um projeto node.js e adicione o arquivo app.js abaixo:
//instância do MongoClient var MongoClient = require('mongodb').MongoClient; //conexão com o banco de dados remoto exemplomlab MongoClient.connect('mongodb://nome_do_usuario:senha@ds012678.mlab.com:12678/exemplomlab', function (err, db) { if(!err) { console.log('Conectado'); } //criação da collection Estudantes db.collection('Estudantes', function (err, collection) { //inserção de 4 estudantes na collection collection.insert({ nome: 'Maria', idade: '18' }); collection.insert({ nome: 'Joana', idade: '22' }); collection.insert({ nome: 'João', idade: '23' }); collection.insert({ nome: 'Luis', idade: '19' }); db.collection('Estudantes').count(function (err, count) { if (err) throw err; console.log('Total linhas inseridas: ' + count); }); }); });
Perceba que no código acima foi criado uma instância do MongoClient e depois foi estabelecida a conexão com o banco de dados remoto que criamos na primeira parte deste artigo, através da string de conexão. Não se esqueça de substituir nela, o nome_do_usuario:senha pelo seu nome de usuário e sua senha.
Em seguida, foi criada uma collection nomeada “Estudantes” e depois foi feita a inserção de quatro linhas com o nome e a idade de quatro estudantes.
Por fim, criamos uma rotina para retornar o total de linhas que foram incluídas na collection no final da operação. Depois de inserir o código acima, baixe através do npm o pacote mongodb versão 2.2.33 na pasta do projeto:
npm install mongodb@2.2.33
Após isso, basta rodar o código com o comando node app no terminal dentro da pasta do projeto. Veremos que foram inseridas quatro linhas na collection Estudantes.
Agora vamos voltar ao nosso banco no site do mLab e ver na aba Collection que foi criada a tabela “Estudantes” e as linhas foram inseridas com o nome e idade dos quatro alunos.
Bem bacana, né? Este foi um simples exemplo de como funciona a comunicação entre o banco de dados remoto através de uma aplicação em node.js.
Você pode conferir o repositório desse exemplo no GitHub.
Leia também a documentação da ferramenta.