我在程序中使用Mongoose模型时遇到错误。
我在代码的开头就做过了:
var Schema = mongoose.Schema;
mongoose.connect('xxxxx');
我使用了名为userSchema的第一个模式来连接/注册用户。
我有这个代码,它应该在我的数据库的字段Bonus上随机执行。但是当我进入randTest页面时,我有这个错误。我该如何解决?
app.get('/randTest', function(req,res)
{
var bonusSchema = new Schema({
bonus : [String]
});
var bonusModel = mongoose.model('Plateau', bonusSchema);
var query = bonusModel.find(null);
query.exec(function (err, allBonus){
if(err) { throw err;}
var rand = Math.floor((Math.random() *allBonus.length));
var result = allBonus[rand-1];
});
res.render('randTest', {result: result});
});
在我的Jade文件中,我只是:
extends layout
block content
script.
alert({#result});
答案 0 :(得分:4)
将bonusModel
定义移到app.get
之外,以便只调用一次:
var bonusSchema = new Schema({
bonus : [String]
});
var bonusModel = mongoose.model('Plateau', bonusSchema);
app.get('/randTest', function(req,res)
{
var query = bonusModel.find(null);
...
});