首页 > 解决方案 > Sequelize.create() 不是函数

问题描述

我正在尝试使用 sequelize 推送我的数据库,但它不起作用,我有这个数据库架构

module.exports = (sequelize, DataTypes) => {
    const Problems = sequelize.define("Posts", {
      theme: {
        type: DataTypes.STRING,
        allowNull: false,
      },
      name: {
        type: DataTypes.STRING,
        allowNull: false,
      },
      condition: {
        type: DataTypes.STRING,
        allowNull: false,
      },
      answer: {
        type: DataTypes.STRING,
        allowNull: false,
      },
      answer2: {
        type: DataTypes.STRING,
        allowNull: true,
      },
      answer3: {
        type: DataTypes.STRING,
        allowNull: true,
      },
      username: {
        type: DataTypes.STRING,
        allowNull: false,
      },
    });
  
    return Problems;
  };

在我的连接文件中:

const express = require("express");
const router = express.Router();
const Problems = require('../models/Problems');

router.get("/", async (req, res) => {
  res.send("hi")
});

router.post("/", async (req, res) => {
  const problem = req.body;
  await Problems.create(problem);
  res.json(problem);
});

module.exports = router;

因此,当我尝试使用 Insomnia 发布数据时,出现了下一个错误:无法读取未定义的属性“创建”

标签: javascriptmysqlexpresssequelize.js

解决方案


请尝试以下方法;

const Problems = require('../models/Problems').Posts;

推荐阅读