将对象与子(关联)对象一起存储,存储

Jan*_*anR 5 node.js express sequelize.js

我已经为续集创建了模型。我有一个附加为Address对象的User模型。链接的定义如下:

User.hasMany(Address);

Address.belongsTo(User);
Run Code Online (Sandbox Code Playgroud)

我要存储的对象具有正确的结构,并附加了孩子:

{
      Username: "John",
      Email: "John@test.com",
      Address: [{
          street: "somestreet"
      }]
  };
Run Code Online (Sandbox Code Playgroud)

当我尝试创建对象时,父对象插入了我的数据库,但是应用程序以[sequelize object]退出时不包含方法.save()

我创建如下:

User.create(user).success(function(user){

});
Run Code Online (Sandbox Code Playgroud)

我在sequelize实例上启用了日志记录,并且可以看到为父对象生成了正确的sql,但是我对如何正确存储子对象(关联对象)感到困惑。

str*_*ald 5

您还可以include像这样使用关键字:

const user = {
  Username: "John",
  Email: "John@test.com",
  Address: [
    {
      street: "somestreet"
    }
  ]
}

User.create(user, {
    include: [models.address]
})
.then((createdUser) => {
   // ...
})
Run Code Online (Sandbox Code Playgroud)

models保存所有 Sequelize 模型及其关联的对象在哪里。


Jan*_*anR 1

事实证明,Wrikken 的原始评论是正确的,我传递的是单个对象而不是数组。

这修复了它:

 {
      Username: "John",
      Email: "John@test.com",
      Address: [{
          street: "somestreet"
      }]
  };
Run Code Online (Sandbox Code Playgroud)