MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

TypeError:Não é possível chamar o método 'get' de indefinido


Seu app.use deve ser escrito antes do seu app.get . O app.get é chamado primeiro pelo Express.
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/notepad');

var app = express();

// mongoDB
// Do all your "pre-route" use() functions first
app.use(function (req, res, next) {
   req.locals.db = db; // this is setting up db property to request
   next();
});

app.get('/users', routes.userlist);

Em suas rotas...
var db = req.locals.db; // Instead of req.db

Ou melhor ainda...
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/notepad');

var app = express();

app.locals.db = db;

app.get('/users', routes.userlist); // Access it using req.locals.db