gpt4 book ai didi

node.js - 尝试定义模型时,NodeJS Sequelize 抛出错误

转载 作者:行者123 更新时间:2023-12-03 22:37:33 25 4
gpt4 key购买 nike

由于抛出错误,我在我的 Node 应用程序中设置 Sequelize 时遇到问题。

错误如下:

this.importCache[importPath] = defineCall(this, DataTypes);
TypeError: Class constructor model cannot be invoked without 'new'

我相信这是在模型 define globals.js 中的 const Communication = db.define('communication', { 行中抛出的

我试图在 new 前面使用 db.define ,但随后它提示并说 db.define 不是构造函数。

我在这方面出错的任何想法?
server.js
require("dotenv").config()
require("./models")

const asyncHandler = require("express-async-handler"),
producer = require("./producer"),
express = require("express"),
app = express(),
bodyParser = require("body-parser"),
port = process.env.PORT || 5000,
utilities = require("./utilities"),
db = require("./config/db")

// Express Config
app.use(bodyParser.json())

// Receive our incoming payload
app.post(
"/payload",
asyncHandler(async (req, res, next) => {
let result = await producer.sendToProducer(req.body)
res.json(result);
})
)

// Begin Listening
db.sync({}).then(() => {
app.listen(port, () => {
utilities.logError(`Server Listening...`)
})
})
./config/db.js
const Sequelize = require('sequelize');
module.exports = new Sequelize(process.env.DATABASE_URL);
./models/index.js
const db = require('../config/db');

const models = {
Global: db.import('./global'),
};

Object.keys(models).forEach((modelName) => {
if ('associate' in models[modelName]) {
models[modelName].associate(models);
}
});

module.exports = models;
./models/global.js
const { DataTypes } = require('sequelize');
const db = require('../config/db');

const Communication = db.define('communication', {

message_uuid: {
type: DataTypes.UUID,
unique: true,
},
firstname: {
type: DataTypes.STRING
},
lastname: {
type: DataTypes.STRING
},
age: {
type: DataTypes.INTEGER
},
department: {
type: DataTypes.STRING
},
campus: {
type: DataTypes.STRING
},
state: {
type: DataTypes.STRING
},

});

module.exports = Communication;

最佳答案

您的路径对于 global.js 模型中的 const db 是否不正确?您正在访问“../config/db”,但该文件是“../config/db.js”。

我对 Node 如何工作的理解是,您的路径指向“../config/db/index.js”。

关于node.js - 尝试定义模型时,NodeJS Sequelize 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56999482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com