Tag Archives: cloud

MongoDB – Mongoose

Step 2 : MongoDB acesse um Colletion usando Express

A missão de hoje é aprender como criar um simples webserver NodeJS que utiliza a biblioteca Mongoose e aprender as várias possibilidades que ela nos oferece. Vamos lá:

Este exemplo acessa uma coleção existente com Mongoose. Ou seja, iremos aprender como acessar o db Mongo e exibir os dados da collections em um browser.

Projeto

  • Webapp Node : Solution
  • biblioteca : Mongoose
  • db Demo : coleção Cidades

Requisitos utilizados: VSCode, Node.js e NPM.

mongooseExpr2.js

No app codifique:

var express = require('express');
var mongoose = require('mongoose');

var app = express();

var url = 'mongodb://user:pwd@ds145380.mlab.com:45380/demodb'

mongoose.connect(url);

var connection = mongoose.connection;

mongoose.connection.on('error',function (err) {  
   console.log('Conexão falhou: ' + err);
});

connection.once('open', function(){
  console.log("Conexão Ok");
});

app.get('/cidades',function(req, res) {
    connection.db.collection("Cidades", function(err, collection){
        collection.find({}).toArray(function(err, data){
            res.json(data);
    });
  });
});

app.listen(4000, function(req,res) {
  console.log("Escutando na porta 4000");
});

Primeiro eu crio uma instância do Express e Mongoose. Importando as bibliotecas.

Defino a URL da conexão.

Connect()

Utilize este método para definir a conexão com o db. Aqui o testdb criado em mongolab.

Note também a connstring passada.

Defino um objeto connection padrão do mongoose.

Verifico algum erro na conexão (evento error).

Connection.once()

A conexão foi estabelecida.

app.get()

Defino uma rota (cidades) para responder a requisição GET.

app.listen()

Finalmente, inicializo o servidor na porta 4000.

Bem simples e rápido.

Execução

Para executar, posicione-se no projeto e dê um node mongooseScript.

Abra no browser:

http://localhost:1337/cidades

Pronto! Agora temos um webserver atendendo na porta 1337. Escrevemos um backend simples que lista o conteúdo da collection no formato JSON no browser.

Considerações

Conclusão

Até aqui é o básico de qualquer programação baseada em Mongodb Mlab.