首页 > 解决方案 > 从迁移创建模型时,Sequelize build 不是函数

问题描述

这是我从 sequelize cli 创建的模型:(它描述了 User.js 中的用户)

'use strict';
module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    username: DataTypes.STRING
  }, {});
  User.associate = function(models) {
    // associations can be defined here
  };
  return User;
};

当我尝试在我的脚本文件中创建它时,我收到以下错误:

User.build is not a function

这是我如何调用构建方法:


  const User = require('../models/User');


  User.build({
        username: message["name"],
    }).save();


标签: node.jssequelize.js

解决方案


在您的情况下,它返回一个函数而不是构造函数

你必须通过sequelize并且DataTypes在导入它时

const User= require('../models/User')(sequelize, DataTypes);

希望它对你有用


推荐阅读