Sequelize.js 三方关系

Sequelize.js 三方关系,sequelize.js,Sequelize.js,创建以下关系 bookmark.belongtomany(标记,{通过:'BookmarkTag'}); belongsToMany(书签,{通过:'UserBookmark'}); 将创建两个RelationshipTable 书签标签 |书签ID |标记ID UserBookmark |书签ID |用户ID 我希望BookmarkTag也包含用户id,以便我知道哪个用户向哪个书签添加了标记 书签标签 |书签ID |标记ID |用户ID 这可能通过续集关联实现吗 完整代码 var bookm

创建以下关系

bookmark.belongtomany(标记,{通过:'BookmarkTag'});
belongsToMany(书签,{通过:'UserBookmark'});

将创建两个RelationshipTable

书签标签
|书签ID |标记ID

UserBookmark
|书签ID |用户ID

我希望BookmarkTag也包含用户id,以便我知道哪个用户向哪个书签添加了标记

书签标签

|书签ID |标记ID |用户ID

这可能通过续集关联实现吗

完整代码

var bookmark = sequelize.define('Bookmark', {
  name: Sequelize.STRING,
  url: Sequelize.STRING
});
var tag = sequelize.define('Tag', {
  value: Sequelize.STRING
});
var user = sequelize.define('User', {
  email: Sequelize.STRING
});
bookmark.belongsToMany(tag, {through: 'BookmarkTag'});
user.belongsToMany(bookmark, {through: 'UserBookmark'});
sequelize.sync();

如果明确定义BookmarkTag表,则可以向其添加额外属性:

BookmarkTag = sequelize.define('BookmarkTag', {
    userId: Sequelize.INTEGER
});

bookmark.belongsToMany(tag, {through: BookmarkTag});
请注意,我们传递的是对BookmarkTag模型的引用,而不是字符串

要在标记上设置用户ID,在执行
addTag

Bookmark.addTag(tag, { userId: 42 });