Вы пытаетесь выполнить код на основе обещаний внутри forEach, который работает не так, как вы ожидаете. Используйте for..of
или Promise.all
for..of
(последовательно)
const users = []
for(const userId of event.registeredUsers) {
User.findOne({ _id: userId }).then(user => {
console.log(user) // logs a valid user
users.push(user)
});
}
console.log(users)
Promise.all
(параллельно)
Promise.all(event.registeredUsers.map(userId => {
return User.findOne({ _id: userId }).then(user => {
console.log(user) // logs a valid user
return user;
});
}).then(users => console.log(users));