Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Isolando a conexão com o BD usando MongoDB

/* infra/dbConnection.js*/
var mongoose = require('mongoose');

module.exports = function(){
    mongoose.connect('mongodb://localhost:27017/casadocodigo');
    return mongoose;
}
/* routes/produtos.js */
var dbConnection = require('../infra/dbConnection')(mongoose);
var bodyParser = require('body-parser');

module.exports = function(app){    
    app.use(bodyParser.json());

var produto = mongoose.model("Produtos", {
    categoria: String,
    nome: String
    });

    app.get('/produtos', function(req,res){
        produto.find(function(err, docs){
            if(err) res.send(err);
            //res.json(docs);
            res.render('produtos/lista', {lista:docs}); 
        });
    });
}

Recebo um erro informando que o mongoose recebido na invocação do dbConnection não está definido. Sem isolar a conexão estava funcionando. Poderiam me ajudar?

4 respostas

Oi Marco, tudo bem? Pelo que to vendo, você esta passando algo que não foi definido para o dbConnection, quando na verdade, o dbConnection não recebe nenhum parametro. Acho que o código abaixo funciona, veja as diferenças e olha se faz sentido:

var mongoose = require('../infra/dbConnection')();
var bodyParser = require('body-parser');

module.exports = function(app){    
    app.use(bodyParser.json());

var produto = mongoose.model("Produtos", {
    categoria: String,
    nome: String
    });

    app.get('/produtos', function(req,res){
        produto.find(function(err, docs){
            if(err) res.send(err);
            //res.json(docs);
            res.render('produtos/lista', {lista:docs}); 
        });
    });
}

Boa Noite Wanderson, vou retomar o curso e dar uma olhada nisso, obrigado por ter enviado sua mensagem. Abraço.

solução!

Marco, mas o que te mandei, resolveu o problema?

Obrigado Wanderson.