Javascript 检索导入的Sequelize模型

Javascript 检索导入的Sequelize模型,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我第一次使用Sequelize,所以请耐心等待。) 我已经创建了名为“models”的Sequelize主连接文件,它看起来像: var sequelize = new Sequelize( dbsettings['database'], dbsettings['username'], dbsettings['password'], ... }), User = sequelize.import(__dirn

我第一次使用Sequelize,所以请耐心等待。) 我已经创建了名为“models”的Sequelize主连接文件,它看起来像:

var sequelize = new Sequelize(
        dbsettings['database'],
        dbsettings['username'],
        dbsettings['password'],
        ...
        }),
    User = sequelize.import(__dirname+'/user'),
    Role = sequelize.import(__dirname+'/role');

User.belongsToMany(Role, {through: 'user_roles'});
Role.belongsToMany(User, {through: 'user_roles'});

module.exports = sequelize;
例如,如何在控制器中调用
User.findById()
的用户模型?
如果我导入此文件并尝试调用类似于
models.User.findById的东西,我将一无所获。请向我解释这个概念。

您应该导出您的模型,然后导入到控制器,然后使用以下方法:

  User.findOne({ where: { id: userId } })
  .then(function(user) {
    if (!user) {
      //raise error or log it
    } else {
      // everything is ok, use returned user object
      console.log(user.name);
    }
  });
您应该记住,任何数据库操作都是异步调用,Sequelize将返回承诺。

明白了! 1) 修改的导出,如:
exports.sequelize=sequelize;
exports.User=User
2) 现在可以导入sequilize连接或模型:
var User=require('../models')。User