使用Sequelize调用Job.create时报错TypeError: Job.create is not a function
解决Sequelize中Job.create不是函数的问题
你的问题根源在于模型文件没有导出定义好的Job模型,导致路由文件中导入的Job是空对象,自然没有create方法。
修复步骤:
- 修改
models/Jobs.js文件,在末尾添加模型导出语句:
const Sequelize = require('sequelize'); const db = require('../db/connection'); //Define const Job = db.define('job', { title:{ type: Sequelize.STRING, }, description:{ type: Sequelize.STRING }, salary:{ type: Sequelize.STRING }, company:{ type: Sequelize.STRING }, email:{ type: Sequelize.STRING }, new_job:{ type: Sequelize.INTEGER } }); // 添加这行导出模型 module.exports = Job;
- 额外检查:确认路由文件中的导入路径与模型文件名匹配
如果你的模型文件名是Jobs.js,路由里的导入应该是const Job = require('../models/Jobs')(注意文件名大小写,Node.js在区分大小写的系统中会严格匹配)。
完成以上修改后,重新启动服务,再用Postman测试/add接口,Job.create就能正常调用了。
内容的提问来源于stack exchange,提问作者Antônio Souza
相关产品推荐
相关产品推荐

