node.js - 导出模型函数时出现问题(Express 和 Mongoose)

标签 node.js express mongoose

我一直在查看代码 (https://github.com/cmarin/MongoDB-Node-Express-Blog) 来学习 NodeJS、Express、Mongoose,但我无法从我的 ' models.js”文件,尤其是“保存”功能。

我收到以下错误:

500 TypeError: Object function (){} has no method 'save'

它出现在我的 app.js 的第 54 行。我无法保存新的投票,因为它找不到函数: https://github.com/kelper/Poll/blob/master/app.js

这是我的模型文件,保存功能在第 62 行: https://github.com/kelper/Poll/blob/master/models.js

另一个快速问题。如何排除文件被提交?我不断将交换文件等提交到我的存储库。

如果您发现我的代码有任何其他问题,请告诉我。我知道有人提到我的命名约定令人困惑。我应该如何命名我的变量?

最佳答案

PollModel是一个构造函数,你要创建一个对象。

var PollModel = require('./models').PollModel; 是错误的

var pollModel = new (require('./models').PollModel); 是对的。

关于node.js - 导出模型函数时出现问题(Express 和 Mongoose),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155798/

相关文章:

javascript - 在 Heroku 部署后,React 客户端在指定本地主机时因 Axios 而失败

javascript - 如何从 mongoDB 中分离字符串

javascript - session token 过期时如何将用户重定向到登录页面?

node.js - 如何优雅地关闭 mongoose 的连接池?

node.js - 在数据库中查找最新对象并更新数组 - Mongoose

mysql - 使用 Node 和 Express 将表中的多个选定 ID 发送到路由中

node.js - 错误或规范更改(Twitter API 1.1 的)

node.js - Node.js 中的权限

node.js - Express.js 4 和域模块 : why domain doesn't handle the error?

node.js - 如何在 Mongoose 文档更新时触发函数