Node.js 使用sequelize newCourse.setCategory不是一个函数

Node.js 使用sequelize newCourse.setCategory不是一个函数,node.js,express,sequelize.js,Node.js,Express,Sequelize.js,我正在对课程和类别具有m-t-m关系的课程进行crud操作 我的模型是两个独立的文件 课程模式 const Sequelize = require('sequelize') const sequelize = require('../database/connection') const UserModel = require('./User') const CategoryModel = require('./Category') const Course = sequelize.defin

我正在对课程和类别具有m-t-m关系的课程进行crud操作 我的模型是两个独立的文件

课程模式

const Sequelize = require('sequelize')
const sequelize = require('../database/connection')
const UserModel = require('./User')
const CategoryModel = require('./Category')

const Course = sequelize.define('Course', {
  id: {
    type: Sequelize.UUIDV4,
    primaryKey: true,
    defaultValue: Sequelize.UUIDV1
  },
  name: Sequelize.STRING(15),
  description: Sequelize.TEXT,
  points: Sequelize.INTEGER,
  image: Sequelize.STRING,
  createdAt: Sequelize.DATE,
  updatedAt: Sequelize.DATE,
}, {
  tableName: 'courses'
})

Course.belongsToMany(UserModel, { through: "CoursesUsers" });
Course.belongsToMany(CategoryModel, { through: "CategoryCourses" });
CategoryModel.belongsToMany(Course, { through: "CategoryCourses"  });


module.exports = Course
'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class CategoryCourse extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      // define association here
    }
  };
  CategoryCourse.init({
    id: {
      type: Sequelize.UUIDV4,
      primaryKey: true,
      defaultValue: Sequelize.UUIDV1
    },
    courseId: DataTypes.UUID,
    categoryId: DataTypes.UUID
  }, {
    sequelize,
    modelName: 'CategoryCourse',
  });
  return CategoryCourse;
};
类别模型

const Sequelize = require('sequelize')
const sequelize = require('../database/connection')

const Category = sequelize.define('Category', {
  id: {
    type: Sequelize.UUIDV4,
    primaryKey: true,
    defaultValue: Sequelize.UUIDV1
  },
  name: Sequelize.STRING(15),
  createdAt: Sequelize.DATE,
  updatedAt: Sequelize.DATE,
}, {
  tableName: 'categories'
})

module.exports = Category
类别课程模式

const Sequelize = require('sequelize')
const sequelize = require('../database/connection')
const UserModel = require('./User')
const CategoryModel = require('./Category')

const Course = sequelize.define('Course', {
  id: {
    type: Sequelize.UUIDV4,
    primaryKey: true,
    defaultValue: Sequelize.UUIDV1
  },
  name: Sequelize.STRING(15),
  description: Sequelize.TEXT,
  points: Sequelize.INTEGER,
  image: Sequelize.STRING,
  createdAt: Sequelize.DATE,
  updatedAt: Sequelize.DATE,
}, {
  tableName: 'courses'
})

Course.belongsToMany(UserModel, { through: "CoursesUsers" });
Course.belongsToMany(CategoryModel, { through: "CategoryCourses" });
CategoryModel.belongsToMany(Course, { through: "CategoryCourses"  });


module.exports = Course
'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class CategoryCourse extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      // define association here
    }
  };
  CategoryCourse.init({
    id: {
      type: Sequelize.UUIDV4,
      primaryKey: true,
      defaultValue: Sequelize.UUIDV1
    },
    courseId: DataTypes.UUID,
    categoryId: DataTypes.UUID
  }, {
    sequelize,
    modelName: 'CategoryCourse',
  });
  return CategoryCourse;
};
在我的控制器中,我正在创建新课程,然后调用
newCourse.setCategory(body.categories)

设置类别,但我收到了以下错误newCourse.setCategory不是一个函数

看看newCourse有哪些方法。它有setCategories还是addCategories,例如?我在想这个问题,但是idk如何检查它的方法+找出它是否在那里没有帮助我知道它不在那里,但是idk为什么:/你可以在你得到新课程的那一行设置一个断点,看看新课程的内容我确实把它记录到了控制台上,它没有任何设置的方法,但我不知道为什么会这样我的模型工作得很好,但关系破裂了。显示一个创建新课程的代码