Node.js 如何在sequelizejs中创建具有关联的模型实例?
我想从原始json数据创建具有it关联的持久模型Node.js 如何在sequelizejs中创建具有关联的模型实例?,node.js,postgresql,orm,sequelize.js,Node.js,Postgresql,Orm,Sequelize.js,我想从原始json数据创建具有it关联的持久模型 var data = { id: 77 name: "Fred" parent_id: 887 parent: { id: 887, name: "Ted" things: [ { id:991, name: "some", parent_id: 887 }, { id:992, name: "another", parent
var data = {
id: 77
name: "Fred"
parent_id: 887
parent: {
id: 887,
name: "Ted"
things: [
{ id:991, name: "some", parent_id: 887 },
{ id:992, name: "another", parent_id: 887 },
{ id:993, name: "cu", parent_id: 887 }
]
}
}
我简化了我的数据(我在模型中有很多关联,在关联的子模型中有一些关联)
我尝试使用Model.create(数据、选项)
使用options.include:[子模型]但它不起作用。它只在数据库中创建带有主模型的行
忽略子模型就我所知,基于现有数据创建模型实例的唯一方法是使用函数。但使用相关的模型实例创建模型实例也有点棘手 因此,解决方案(基于JSON数据)更像
const thingsData = [
{ id:991, name: "some", parent_id: 887 },
{ id:992, name: "another", parent_id: 887 },
{ id:993, name: "cu", parent_id: 887 }
]
const things = ThingsModel.build(thingsData) // this will be an array of ThingsModel instance
const parentData = {
id: 887,
name: "Ted"
}
const parent = ParentModel.build(parentData)
// manually injecting the things instances
parent.dataValues.things = things
const personData = {
id: 77,
name: "Fred",
parent_id: 887
}
const person = PersonModel.build(data)
person.dataValues.parent = parent