gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:49 27 4
gpt4 key购买 nike

我在程序中使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com