Message.Create不是一个函数会话cli

我已经在我的项目中安装了mysql sequelize然后我使用sequelize命令创build模型和迁移文件creadted消息模型。我也给了在config.json文件中的数据库凭据。现在我试图在我的数据库插入logging,但得到这个错误在这里是我的模型文件


我需要明确地build立数据库连接,或者它会自动从config.json文件中select证书来build立连接?


车型/ messages.js

'use strict'; module.exports = (sequelize, DataTypes) => { var Messages = sequelize.define('Messages', { room: DataTypes.STRING, nickname: DataTypes.STRING, message: DataTypes.STRING, receiver: DataTypes.STRING }, { classMethods: { associate: function(models) { // associations can be defined here } } }); return Messages; }; 

这里是config.json文件config / config.json

 { "development": { "username": "root", "password": "asad", "database": "chat", "host": "127.0.0.1", "dialect": "mysql" }, "test": { "username": "root", "password": null, "database": "database_test", "host": "127.0.0.1", "dialect": "mysql" }, "production": { "username": "root", "password": null, "database": "database_production", "host": "127.0.0.1", "dialect": "mysql" } } 

这里是我的服务器文件保存loggingapp.js文件

  var express = require('express'); var router = express.Router(); var app = express(); var server = require('http').createServer(app); server.listen(4000); var Messages=require('../models/Messages.js'); router.post('/', function(req, res, next) { var a =req.body; Messages.create(a).then(() => { console.log('success ') }) }) 

使连接实例出现并导出,请根据您的环境使用configuration

 const sql = new Sequelize(config.database, config.username, config.password, { host: config.host, dialect: config.dialect, pool: { max: 5, min: 0, idle: 10000 }, }); module.export = sql; 

在你的app.js导入sql实例并连接你的db启动你的服务器之前。

 var express = require('express'); var router = express.Router(); var app = express(); var server = require('http').createServer(app); var sql = require(./sql); sql.authenticate().then(()=>{ server.listen(4000); }); var Messages= sql.import('../models/Messages.js'); router.post('/', function(req, res, next) { var a =req.body; Messages.create(a).then(() => { console.log('success ') }) })