在Node.js中引用控制器中的Sequelize模型

Referencing Sequelize Model in Controller in Node.js

本文关键字:Sequelize 模型 控制器 引用 Node js      更新时间:2023-09-26

我遇到一个问题,我似乎就是不明白。

我已经创建了一个模型调用Users。它位于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"
  });
});

然而,我只是得到错误说找不到用户。这就说得通了,我想不起来我把它放在什么地方了。但我也不知道该怎么做?

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

您需要需要您试图引用的任何文件。

例如,如果这个模块。在一个名为Users.js的文件中,您会说var Users = require('./Users')(或用户的文件路径是什么)。

这样你就可以使用这个JS文件的导出。希望这对你有帮助