我是第一次使用 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;
例如,如何在我的 Controller 中为
User.findById()
调用 User 模型?如果我导入这个文件并尝试调用类似
models.User.findById
的东西,我将一无所获。请向我解释这个概念。
最佳答案
你应该导出你的模型,并导入到你的 Controller ,然后使用这个:
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 正在返回 promise 。
关于javascript - 检索导入的 Sequelize 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34444622/