如何从内部路线调用模型?

如果我想要达到的是正确的做法,不是100%确定的,所以如果我错了,请纠正我的错误。

我正在build立一个nodejs,快递和护照网站/应用程序。

在我的routes.js中,我有以下部分:

/* GET Home Page */ router.get('/dashboard', isAuthenticated, function(req, res){ res.render('dashboard', { user: req.user, sess: req.session }); }); 

用户login后,显示“仪表板”。 在“仪表板”上,我想包括他们最近的日志条目中的10个。 我有logbook.js模型设置,我只是不确定如何调用它。

我在models/logbook.js函数是:

 function getLatestEntries(req, res, user){ Logbook.find({ 'uid' : user.uid }, {}, { limit: 10}, function(err, logbook){ return logbook; }); } 

logbook.js的内容:

 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var logbookSchema = new Schema({ id: String, uid: String, lid: { type: String, unique: true}, callsign: String, contact: String, start: String, end: String, band: String, mode: String, RSTsent: String, RSTrec: String, notes: String }); var Logbook = mongoose.model('Logbook', logbookSchema); function getLatestEntries(req, next){ Logbook.find({ 'uid' : sess.uid }, {}, { limit: 10}, function(err, logbook){ if (err){ console.log("Error"+err) return next(err, null); } return next(null, logbook); }); } module.exports.getLatestEntries = getLatestEntries; // make this available to our users in our Node applications module.exports = Logbook; 

在您的routes.js中:

 var Logbook = require('./models/logbook'); // change path if it's wrong /* GET Home Page */ router.get('/dashboard', isAuthenticated, function(req, res, next) { Logbook.find({ 'uid' : req.user.uid }, {}, { limit: 10}, function(err, logbook){ if (err) { console.log(err); return next(); } res.render('dashboard', { user: req.user, logbook: logbook }); }); }); 

在你的models / logbook.js中:

 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var logbookSchema = new Schema({ id: String, uid: String, lid: { type: String, unique: true}, callsign: String, contact: String, start: String, end: String, band: String, mode: String, RSTsent: String, RSTrec: String, notes: String }); var Logbook = mongoose.model('Logbook', logbookSchema); // make this available to our users in our Node applications module.exports = Logbook;