【发布时间】:2020-05-29 21:32:59
【问题描述】:
我从 sequelize CLI 创建了这个模型
models/society.js
'use strict';
module.exports = (sequelize, DataTypes) => {
const Society = sequelize.define('Society', {
code: DataTypes.STRING,
name: DataTypes.STRING,
description: DataTypes.STRING
}, {});
Society.associate = function(models) {
// associations can be defined here
};
return Society;
};
那么这是我的 index.js 配置文件
'use strict'
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const api = require('./routes')
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())
app.use('/api', api)
const port = process.env.PORT || 3000
app.listen(port, ()=>{
console.log(`API REST running on http://localhost:${port}`)
})
路线部分是这里
routes/index.js
'use strict'
const express = require('express')
const api = express.Router()
const SocietyCtrl = require('../controllers/society')
api.post('/society', SocietyCtrl.createSociety)
module.exports = api
最后它只是控制器 controllers/society.js
'use strict'
const Society = require('../models/society')
function createSociety(req, res){
console.log('POST /api/society/')
Society.create(req.body).then(created =>{
res.status(200).send({society: created})
})
}
module.exports = {
createSociety
}
当我尝试进行 POST 时出现问题,我收到以下错误:
Society.create 不是函数
你能告诉我我做错了什么吗?
【问题讨论】:
-
你试过 Society.Society.create() 吗?
-
您可以使用
console.log(Society.create)来检查它是什么。确保您的模型组织正确。 -
因为 models/society.js 返回一个函数
-
这能回答你的问题吗? sequelize .create is not a function error
标签: javascript node.js sequelize.js