Javascript sequelize中的插入问题

Javascript sequelize中的插入问题,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,用户表: var user = connection.define('user', { id: { type: sequelize.INTEGER, primaryKey: true, autoIncrement: true }, name: { type: sequelize.STRING }, age: { type: sequelize.INTEGER } }, { classMethods: { insertDa

用户表:

var user = connection.define('user', {
  id: {
    type: sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  name: {
    type: sequelize.STRING
  },
  age: {
    type: sequelize.INTEGER
  }
}, {
  classMethods: {
    insertData: function(sql, data) {
      this.create({
        name: data.name,
        age: data.age
      }).then(function() {
        console.log("successful insertion");
      });
    }
  }
});
地址表:

var address = connection.define('address', {
  id: {
    type: sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  content: sequelize.TEXT
}, {
  classMethods: {
    associate: function(model) {
      var user = model.user;
      user.hasMany(address);
    },
    insertData: function(data) {
      this.create({
        content: data.content,
        userId: data.id
      }).then(function() {
        console.log("working ");
      });
    }
  }
});  
现在,我如何在表address
userId
字段中插入数据,该表是在用户和地址之间的关系之后创建的

按如下所述直接使用字段名插入不起作用

insertData: function(data) {
  this.create({
    content: data.content,
    userId: data.id
  }).then(function() {
    console.log("working ");
  });
}

您应该执行
返回此操作。在
insertData
方法中创建…
。在
address
模型上运行
insertData(data)
时生成的SQL查询是什么?插入“address”(“id”、“content”、“createdAt”、“updatedAt”)值(默认值,'addr2','2017-02-17 14:25:22.246+00:00','2017-02-17 14:25:22.246+00:00')返回*;您的
地址
表是否包含
userId
列?您是使用
sequelize.sync()
来同步数据库还是使用迁移?
user
表包含列
userId
,表
user
address
之间存在关系,即
user.hasMany(address)
执行查询
select*from addresses
后,我将
address
表中的
userId
列作为外键。我重新构建了这种情况,似乎一切正常。您确定传递到
地址的
数据
对象。insertData
方法肯定是
{content:'some content',id:'user id here'}