【发布时间】:2016-04-30 12:26:05
【问题描述】:
我有两个模型,定义在这里:
用户模型:
var Sequelize = require("sequelize");
module.exports = function (sequelize) {
var User = sequelize.define('user', {
name:{ type:Sequelize.STRING(50), defaultValue:''},
email:Sequelize.STRING(50),
password:Sequelize.STRING(256)
},
{
associate: function (models) {
User.hasMany(
models.Article,
{ foreignKey: 'postUserId' }
);
User.hasMany(
models.Article,
{ foreignKey: 'editUserId' }
);
User.hasMany(
models.Article,
{ foreignKey: 'deleteUserId' }
);
}
});
return User;
};
文章型号:
module.exports = function (sequelize, DataTypes) {
var Article = sequelize.define('Article', {
title: {type: DataTypes.STRING, defaultValue: '' },
content: { type: DataTypes.STRING, defaultValue: '' }
},
{
associate: function (models) {
Article.belongsTo(
models.User,
{ foreignKey: 'postUserId' }
);
Article.belongsTo(
models.User,
{ foreignKey: 'editUserId' }
);
Article.belongsTo(
models.User,
{ foreignKey: 'deleteUserId' }
);
}
});
return Article;
};
在我的表中,每条记录都有三个对模型用户的 userid 引用。我想在每条记录中获取所有三个用户数据。 我如何定义关联以及如何编写查找函数。
db.Article.findById('9100', {include: [User]}).then(function (art) {
if (!art) {
return res.status(404).send({
message: 'No article with that identifier has been found'
});
}
res.json(art);
}).catch(function (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
});
上述方法只能返回一个用户数据,如何返回所有用户数据?
谢谢。
【问题讨论】:
标签: node.js express associations sequelize.js