Express,Mongoose:OverwriteModelError:一旦编译就不能覆盖“xxxxx”模型
我在我的程序中使用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});
将bonusModel
定义bonusModel
之外,以便只调用一次:
var bonusSchema = new Schema({ bonus : [String] }); var bonusModel = mongoose.model('Plateau', bonusSchema); app.get('/randTest', function(req,res) { var query = bonusModel.find(null); ... });