Sequelize:构build和保存包含数组的对象

在Sequelize.js中构build和保存时,是否可以指定一个数组,或者必须在一个单独的sequelize构build中完成?

模型定义:

var Tag = sequelize.define('Tag', { name: Sequelize.STRING }); var Event = sequelize.define('Event', { name: Sequelize.STRING, }); Event.hasMany(Tag, {as: 'tags', through: 'event_tags', foreignKey: 'eventId'}); Tag.hasMany(Event, {as: 'events', through: 'event_tags', foreignKey: 'tagId'}); 

我问的是如果这是可能的:

 Event.build({ name: 'blah', tags: [{id: 53, name: someTag}, {id: 54, name: otherTag}] }).save().success(function(event) {...}); 

如果这是不可能的,我必须为每个eventTag关联做一个构build?

 Event.build({ name: 'blah', }).save().success(function(event) { // ...How? because the association (table event_tags) is not an entity // from which I could run .build() // Maybe using push? }); 

从sequelize文档: Sequelize关联对象

 Event.hasMany(Tag) Tag.hasMany(Event) Event.create()... Tag.create()... Tag.create()... // save them... and then: event.setTags([tag1, tag2]).success(function() { // saved! }) 

其中'create()'结合了build()和save()。