Pra*_*ush 7 model-view-controller mongoose mongodb node.js express
这是我第一次在Node/Express/Mongoose中编写MVC应用程序,所以我真的可以使用一些帮助.我的.find()命令找不到任何东西!:(
结构是我在根目录中有一个/ app文件夹./ app文件夹包含/ models(模式),/ controllers和/ views.我在根目录外面有app.js.
app.js中的某个地方:
// all necessary config/setup stuff..
var mongoose = require('mongoose');
mongoose.connect(config.db);
var app = express();
require('./config/routes')(app)
Run Code Online (Sandbox Code Playgroud)
在我的routes.js文件中:
var skills = require('../app/controllers/skills');
app.get('/', skills.showall);
Run Code Online (Sandbox Code Playgroud)
我的控制器技能.js包含:
var Skill = require('../models/skill');
exports.showall = function(req, res) {
Skill.find({}, function(err, docs){
if (!err) {
res.render('index', {title: 'Skilldom', skills: docs});
}
else {
throw err;
}
});
}
Run Code Online (Sandbox Code Playgroud)
最后我的Model skill.js包含:
var mongoose = require('mongoose');
//Skill schema definition
var skillSchema = new mongoose.Schema({
name: String,
length: String,
});
var Skill = mongoose.model('Skill', skillSchema);
module.exports = Skill;
Run Code Online (Sandbox Code Playgroud)
我的索引视图呈现,所以我看到我的index.jade模板中的内容,但由于某种原因,模型中的find命令不提取任何内容.我可以确认我的数据库(在MongoHQ中)有真实数据.
有什么想法吗?
lab*_*ode 10
改变你Skill.js的意思
var mongoose = require('mongoose');
mongoose.set('debug', true);
//Skill schema definition
var skillSchema = new mongoose.Schema({
name: String,
length: String,
});
var Skill = mongoose.model('Skill', skillSchema);
module.exports = Skill;
Run Code Online (Sandbox Code Playgroud)
之后,您可以在控制台上看到mongoose是否正在进行查询.
| 归档时间: |
|
| 查看次数: |
10309 次 |
| 最近记录: |