node.js - express , Mongoose : OverwriteModelError : Cannot Overwrite 'xxxxx' model once compiled

标签 node.js mongodb mongoose

我在程序中使用 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 定义移至 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);
  ...
});

关于node.js - express , Mongoose : OverwriteModelError : Cannot Overwrite 'xxxxx' model once compiled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23542277/

相关文章:

node.js - 是否需要在nodejs中关闭mongodb连接?

java - 如何为 MongoDB 等 NoSql 绘制 UML 图?

MongoDB 数据建模 : any drawbacks in using lots of databases?

node.js - Mongoose - 在不知道确切模式的情况下操作现有数据库中的文档

node.js - 如何查找符合特定条件的记录的最新记录

javascript - 来自填充文档的 Mongoose 求和字段

javascript - 提高压缩比 UglifyJS - NodeJS

javascript - Node.js:使用链接发出删除请求

javascript - 如何获取我的应用程序的 Shopify 商店产品的所有数据?

MongoDB 聚合 : add field from an embedded document via a dynamic field path