请问一下sequelize 多对多关系如何增加和查询数据
code
表和tag
表是多对多关系
code
表 model
'use strict';
module.exports = function(sequelize, DataTypes) {
var code = sequelize.define('code', {
markdown: DataTypes.TEXT,
title:DataTypes.STRING
}, {
timestamps: true,
paranoid: true,
classMethods: {
associate: function(models) {
code.belongsToMany(models['tag'], { through: 'tagcode' })
}
}
});
return code;
};
tag
表 model
'use strict';
module.exports = function(sequelize, DataTypes) {
var tag = sequelize.define('tag', {
name: DataTypes.STRING,
}, {
timestamps: true,
paranoid: true,
classMethods: {
associate: function(models) {
tag.belongsToMany(models['code'], { through: 'tagcode' })
}
}
});
return tag;
};
上面两个model会生成tagcode
表。
tag
表事先已经有数据。
dbModels.code.create({
title: req.body.title,
markdown: req.body.markdown,
tags: [
{ name: 'Alpha'},
{ name: 'Beta'}
]
},
{
include: {model:dbModels.tag }
}
).then(function (code) {
res.status(200).json(code)
})
上面的代码每一次添加code的时候都会添加‘Alpha’‘Beta’ tag。
现在想实现添加code
记录的时候传递tagId(多个),然后在关系表tagcode 添加相应的关联,并不在tag表添加数据。
请问一下该如何实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
谢邀,部署sequelize
怎么解决呢??