在Node.js中引用Controller中的Sequelize Model

时间:2016-11-13 16:16:52

标签: javascript node.js express model-view-controller sequelize.js

我遇到了一个我似乎无法解决的问题。

我创建了一个模型调用用户。它位于models文件夹中,名为Users.js

module.exports = function(sequelize, DataTypes) {
  var Users = sequelize.define("Users", {
    firstName: DataTypes.STRING,
    surname: DataTypes.STRING
  });
  return Users;
};

该表在postgresql中创建了我想象的内容。

现在,我理解它应该如何工作的方式是在控制器中我可以调用一个create方法,它会在这个表中插入行。在这种情况下,我有一个名为home.js的控制器,如下所示:

Users.sync({force: true}).then(function () {
  return Users.create({
    firstName: "David",
    surname: "Meek"
  });
});

然而,我只是得到错误,说无法找到用户。这是有道理的,我不记得任何我必须设置它的地方。但我也不知道我会怎么做?

那么如何让模型对控制器可见?

1 个答案:

答案 0 :(得分:-1)

您需要提供您尝试引用的任何文件。

例如,如果此module.exports位于名为Users.js的文件中,您可以说var Users = require('./Users')(或用户的文件路径)。

这样你可以使用这个JS文件的导出。希望这会有所帮助:)