获取刚刚保存的对象的ID在Sequelize中?

所以我有这个代码:

//defining partner var Partner = sequelize.define('Partner', { order: Sequelize.INTEGER, image: Sequelize.STRING, }, { tableName: 'partners', }); //creating partner instance var partner=Partner.build(); partner.save().success(function(newpartner){ console.log(newpartner.id); }); 

当这个代码被执行时,2个伙伴实例被插入到数据库中。 当我访问partner id属性时,第二个被推。

这是来自控制台的日志:

 Executing (default): INSERT INTO `partners` (`updatedAt`,`createdAt`) VALUES ('2014-08-16 13:13:26','2014-08-16 13:13:26'); Executing (default): INSERT INTO `partners` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,'2014-08-16 13:13:26','2014-08-16 13:13:26'); 

我需要得到合作伙伴的ID,并将其保存到数据库后发送给客户端。 我如何正确地做到这一点? 现在我只需访问id属性而不用调用save() ,因为它保存对象。 但是这没有logging。 有没有适当的方法来做到这一点?

我设法隔离这个问题。

我的错误来自阅读文档不够彻底。 显然,设置关联的对象将实体推送到数据库(例如,不同于Doctrine)。 所以我的实体在执行下面的代码时被保存了(不包括在问题中):

 Partner.setManager(manager); 

Manager是与合作伙伴一对多关系的实体。 所以解决scheme是删除save()调用,并使用setManager()successcallback