sequelize.js与嵌套的插入

时间:2015-12-26 17:01:38

标签: node.js sequelize.js

我正在使用sequelize.js,其中我有一个表(例如User),其中包含不同的字符串字段以及与另一个表(例如Nationality)的多对多关系。

我正在尝试在一条指令中插入一个包含所有子元素和国籍的新User行。现在我这样做:

models.Nation.create({codice:"IT",name:"Italia"}).then(function(italy){
      models.User.create({username:"local_u",nation:italy}).then(function(){

     });
});

如果我查看数据库,则在新创建的User: the field NationId`未设置。

我知道我可以使用续集函数setNation,但我想知道我是否可以在一个User.create内完成。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用include一步创建包含国家/地区的用户实体。这样的事情(未经过测试的代码):

models.Nation.create({ codice: "IT", name: "Italia" }).then(function (italy) {
    models.User.create({
        username: "local_u",
        nation: italy

    }, {
            include: [models.nation]
        }
    ).then(function () {/*Do Something*/});
});

这是一个古老的问题,但希望可以帮助别人。