Я использую bluebird и mongoose, я получаю массив пользователей в предыдущей функции. Я хочу обновить users
, чтобы установить свойство hasCar
true или false для каждого пользователя из моего массива.Обещание всей карты обновления массива
function findCars(users) {
return Promise.all(users.map((user) => {
return Car.count({
_creator: new ObjectId(req.user),
userId: user._id
})
.then((car) => {
user.hasCar = !!car;
return user;
});
}))
.then(console.log);
}
Проблема заключается в том, в console.log эти пользователи не имеют свойство hasCar
набор. Я пробовал разные способы без успеха.
Вместо 'пользователей [индекс] .hasCar = ...', почему бы не просто использовать 'user.hasCar = ...'? – Phil
И вместо 'if (car) {... = true; } else {... = false; } 'почему бы просто не использовать' ... = Boolean (car); '? – Bergi
Эй, спасибо Филу за ваш ответ, я также пробовал это раньше, а также «возвращать пользователя» после 'else', не работает, я все равно получаю старого пользователя. – John