BulkCreate返回一个模型数组,但它们的顺序是否与提供的数据相匹配?
const records = [ { name: 'John' }, { name: 'Doe' } ]
const newRecords = await Person.bulkCreate(records)
创建的模型的顺序是否与记录数组的顺序一致?
我想做的是批量创建记录,记录之间的关系,类似于
const teams = [
{
name: 'Team name one',
players: [
{
name: 'John',
teamId: null
},
{
name: 'Doe',
teamId: null
}
]
}
]
我有一个团队对象列表,每个团队都有球员阵列。我想批量创建所有的球队,然后批量创建所有的球员。但为了创建球员,我需要知道球队创建时的id。
如果顺序确实匹配,我可以映射模型,并添加团队的Id
const teamRecords = await Team.bulkCreate(teams)
const playersToInsert = []
teams.forEach((team, i) => {
const teamId = teamRecords[i].id
playersToInsert.concat(team.players.map(player => ({ ...player, teamId }))
})
const players = await Player.bulkCreate(playersToInsert)
有没有更好的方法来做这样的事情?