router.post('/createGroups',async (req)=>{ const {leagueID,teams} = req.body await Promise.all(teams.map((group,rank)=>{ group.map(async(t,index)=>{ if(index === 0){ console.log(index,rank,t) const createdGroup = new Group({league:leagueID, group:{team:t}, rank:rank+1}) return await createdGroup.save() }else{ console.log(index,rank,t) return await Group.findOneAndUpdate( {league:req.body.leagueID, rank:rank+1}, {$push:{ group:{ $each:[{team:t}] } } }) } }) })) })Estoy tratando de recorrer el grupo, tomar el primer elemento, insertar un documento, esperar hasta que se inserte el documento, luego actualizar el mismo documento para agregar los elementos restantes en la matriz anidada (grupo).
Básicamente, quiero que espere hasta que se resuelva cada promesa antes de continuar con el siguiente elemento.
No estoy seguro de mi enfoque, por lo que se aceptan sugerencias sobre cómo puedo lograrlo.