MongoDB - Acessando o MongoDB na nuvem (mongolab) - III

 Neste tutorial eu vou mostrar como criar e acessar um banco de dados MongoDB na nuvem.

Na segunda parte do artigo realizamos algumas operações com o nosso banco de dados no MongoLab e usando o driver padrão do MongoDB.

Vamos continuar realizando  operações com o nosso MongoDB na nuvem desta vez usando o Mongoose.

Mas o que vem a ser o Mongoose ?

O Mongoose é uma biblioteca do Nodejs que proporciona uma solução baseada em esquemas para modelar os dados da sua aplicação. Ele possui sistema de conversão de tipos, validação, criação de consultas e hooks para lógica de negócios.

O Mongoose fornece um mapeamento de objetos do MongoDB similar ao ORM (Object Relational Mapping), ou ODM (Object Data Mapping) no caso do Mongoose. Isso significa que o Mongoose traduz os dados do banco de dados para objetos JavaScript para que possam ser utilizados por sua aplicação.

Dessa forma para usar o Mongosse temos que instalar o recurso usando o NPM via linha de comando.

Para isso basta abrir uma janela de comandos ou console/terminal e digitar o comando : npm install Mongoose

Acessando uma coleção existente com Mongoose

Lembrando que temos um banco de dados MongoDB vendasdb criado na nuvem possui uma coleção Pessoas com as seguintes informações:

Vamos usar o Visual Studio Code para criar uma aplicação que acessa a coleção Pessoas existente em nosso banco de dados vendasdb.

Para isso podemos abrir o VS Code e no menu File clicar em Open Folder e selecionar a pasta mongodb_demo.

Vamos criar um arquivo chamado conmongoose1.js no projeto onde iremos definir o código que vai acessar os dados da nossa coleção Pessoas.

Clique no ícone New File para criar um novo arquivo no projeto e informe o nome conmongoose1.js :

A seguir digite o código abaixo neste arquivo:

//importa o mongoose
var mongoose = require("mongoose");
// define a URL da conexão 
var url = 'mongodb://seu_usuario:sua_senha@ds145380.mlab.com:45380/vendasdb'
//faz a conexão com o MongoDB
mongoose.connect(url);
//define um objeto connection do mongoose
var connection = mongoose.connection;
//trata os erros da conexão 
mongoose.connection.on('error',function (err) {  
   console.log('Erro na conexão Mongoose padrão ...: ' + err);
});
//A conexão foi feita com sucesso
// Acessa a coleção Pessoas e exibe os dados
connection.once('open', function () {
    connection.db.collection("Pessoas", function(err, collection){
        collection.find({}).toArray(function(err, data){
            console.log(data);
        })
    });
});

O código já esta comentado.

Para executar o código e ver o resultado, abra uma janela de comandos e se posicione na pasta do projeto :  mongodb_demo e digite o comando : node conmongoose1

Veremos a listagem do conteúdo da coleção Pessoas conforme exibe a figura acima.

Acessando o MongoDB com Mongoose usando o Express

Vamos agora realizar o acesso ao banco de dados vendasdb e exibir os dados da coleção Pessoas em um navegador da web.

Para isso vamos usar o Express que  é um framework para aplicações web para o Node.js, mínimo e flexível que fornece um conjunto robusto de recursos para aplicativos web e móvel.

Para poder usar os recursos do Express temos que instalá-lo usando o NPM.

Vamos abrir uma janela de comandos Posicione-se na pasta do projeto: mongodb_demo

Para isso eu vou usar o prompt de comando no Windows 10.

Com a janela de comandos aberta digite os comandos:

digite comando : npm install express --save

A opção --save faz com que o módulo do express seja incluído na lista dependencies no arquivo package.json.

Agora vamos usar o VS Code criar um arquivo chamado conmongoose2.js com o seguinte código :

var express = require('express');
var mongoose = require('mongoose');
var app = express();
// URL da conexão 
var url = 'mongodb://seu_usuario:sua_senha@ds145380.mlab.com:45380/vendasdb'
mongoose.connect(url);
//Obtem o objeto connection padrão
var connection = mongoose.connection;
//se houver um erro na conexão trata o evento error
mongoose.connection.on('error',function (err) {  
   console.log('Erro na conexão Mongoose padrão ...: ' + err);
});
//trata o evento da conexão
connection.once('open', function(){
  console.log("Conectado ao MongoDB");
});
//definimos uma rota /pessoas que vai responder a requisição GET
app.get('/pessoas',function(req, res) {
    connection.db.collection("Pessoas", function(err, collection){
        collection.find({}).toArray(function(err, data){
            res.json(data);
    });
  });
});
// Inicia o servidor na porta 3000
app.listen(3000, function(req,res) {
  console.log("Escutando na porta 3000");
});

O código já esta comentado explicando o seu funcionamento.

Vamos executar o arquivo conmongoose2.js na janela de prompt de comando digitando: node conmongoose2

Vemo o resultado  exibido no console indicando que o servidor esta escutando na porta 3000 e que já estamos conectados com o MongoDB.

Vamos abrir um navegador e navegar até : localhost:3000/pessoas para obter o resultado.

Vemos aqui as informações da coleção Pessoas do banco de dado vendasdb exibidas no formato JSON no navegador da web.

Mas a hora vem, e agora é, em que os verdadeiros adoradores adorarão o Pai em espírito e em verdade; porque o Pai procura a tais que assim o adorem.
Deus é Espírito, e importa que os que o adoram o adorem em espírito e em verdade.

João 4:23,24

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti