Estoy obteniendo datos de usuario de MongoDB pasando el ID de usuario y luego esperando los datos de usuario. Me devuelve datos de usuario si solicito datos sin una matriz de ID. me da datos. pero si ejecuto un ciclo en Array of ids y espero eso, me da una serie de promesas pero no una serie de datos de usuario. ¿por qué pasa eso?.
Sé cómo resolverlo await Promise.all (promiseArray).
pero mi pregunta es ¿por qué es este comportamiento? y también cuando trato de consolar al usuario en la función de mapa, consola a userData, no a la promesa (en la línea 156). y aprendí que aguardar detener la ejecución esperar a que la línea que está esperando para ejecutarse luego continúe. pero aquí no es el caso. en cambio, no detiene la función de mapa si no ejecuta el código después de await, pero muestra el comportamiento de la palabra clave continue en await. y luego, cuando la promesa de esperar si se cumple, luego se ejecuta el código.
aquí está el código
// this.guides = ["userIdOne","userIdTwo"] tourSchema.post("save", async function (doc, next) { const guideSingle = await User.findById(this.guides[0]); const guideArray = this.guides.map(async (id) => { console.log("ID: ", id); let user = await User.findById(id); console.log("USER: ", user); return user; }); console.log("SINGLE GUIDE: ", guideSingle); console.log("ARRAY GUIDE:", guideArray); next(); });