尚未为模型“流派”注册模式。使用mongoose.model(name,schema)
理解此错误消息。
尚未为模型“流派”注册架构。使用mongoose.model(名称,模式)因为看不到流派的要求而把我扔了,它正在加载模型Book
下面的详细信息。
这是在完成mdn教程的过程中>
我当前的仓库>
err在catalog.js的这条路线上router.get('/ book /:id',book_controller.book_detail);
.js
到bookController.js中的exports.book_detail
.js
错误似乎在此代码部分中
async.parallel({
book: function(callback) {
Book.findById(req.params.id)
.populate('author')
.populate('genre')
.exec(callback);
},
book_instance: function(callback) {
BookInstance.find({ 'book': req.params.id })
.exec(callback);
},
}, function(err, results) {
console.log("exports.book_detail : function(err, results) ")
但是我没有在上面看到错误消息
下面的控制台错误消息。
exports.book_detail开始exports.book_detail:函数(错误,结果)exports.book_detail:错误:MissingSchemaError:尚未为模型“ Genre”注册模式。使用mongoose.model(name,schema)app.use(function ...)err.message =尚未为模型“ Genre”注册模式。使用mongoose.model(name,schema)
'err.message ='位于app.py第62行。
我还看到了其他stackoverflow / stachexchange问题,其中解决方案将mongoose.connect移到了模型导入上方,这对我不起作用。
令我真正困惑的部分是为什么该错误是由于尚未为模型“流派”注册架构我原本希望得到样板书。
回答如下:问题是Genre
模型实际上被命名为GenreInstance
而不是GenreInstance
的名称。
调用端点将导致应用尝试基于不存在的名为Genre
的模型填充文档,因此Mongoose抛出错误,指出无法为该模型找到架构。
将模型重命名为“流派”应将其修复:
Genre