node.js - 尚未为模型“流派”注册架构。使用 mongoose.model(name, schema)
问题描述
理解这个错误信息。
尚未为模型“流派”注册架构。使用 mongoose.model(name, schema) 抛出了我,因为我没有看到对 Genre 的调用,它正在加载模型书
详情如下。
这是在学习 mdn 教程时 > https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data
错误在 catalog.js router.get('/book/:id', book_controller.book_detail) 中的这条路线上;
到 bookController.js 中的 exports.book_detail
错误似乎在此代码部分中
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) ")
但我没有看到上面的错误消息
下面的控制台错误消息。
export.book_detail 开始 exports.book_detail :函数(错误,结果)exports.book_detail :错误:MissingSchemaError:模式尚未注册模型“流派”。使用 mongoose.model(name, schema) app.use(function...) err.message=Schema 尚未为模型“流派”注册。
'err.message=' 在 app.py 第 62 行。
我已经看到其他 stackoverflow/stachexchange 问题,其中解决方案将 mongoose.connect 移到模型导入之上,这对我不起作用。
真正让我困惑的部分是为什么错误是因为没有为模型“流派”注册模式的错误,我本来希望模型书。
解决方案
问题是Genre
模型的名称实际上是命名的GenreInstance
,而不是Genre
。
调用端点将导致应用程序尝试基于一个名为Genre
但不存在的模型填充文档,因此 Mongoose 会抛出一个错误,说它找不到该模型的模式。
将模型重命名为“流派”应该可以解决它:
module.exports = mongoose.model('Genre', GenreSchema);
推荐阅读
- eclipse - Windows 上的 OMNeT++ 5.5.1 和 SimuLTE - 调试错误
- java - 如何为 Android Studio 中的 imageView 分配整数值?
- ios - iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”
- android - Emulate NDEF Tag in ReactNative for Android
- c++ - C++:对不存在的命名空间使用命名空间指令
- c# - 如何处理 OWIN 应用程序的 web.config 更改
- windows - 用于在资源管理器中双击文件并在 Windows 终端中使用 WSL 应用程序(Neovim、Vim 等)启动/运行它的脚本
- python - python - 如何根据包含第三个列表中的一些值的另一个列表填充python中的列表?
- javascript - 如何在 jenkins 中为 js/ts/react 项目设置 SonarQube 扫描仪
- symfony - symfony 序列化程序 jmsserializerbundle 服务名称冲突