У меня возникла проблема с пониманием манипуляций переменных в JavaScript. следующий код:Добавить новую собственность в Mongoose Document after fetch
UserScore.find(filter, function (err, userScores) {
var contests = [];
userScores.forEach(function(userScore)
{
contests.push(userScore.ContestId);
});
Contest.find({ '_id': { $in : contests } }, function(err, contestItems)
{
var result = [];
contestItems.forEach(function(con)
{
userScores.forEach(function(element) {
if(element.ContestId == con._id)
{
con.UserTeamName = element.TeamName;
con.UserPersonalScore = element.Score;
console.log(con);
console.log(con.UserPersonalScore);
result.push(con);
return;
}
});
});
res.status(200).json(result);
});
});
печатает «против» без двух добавленных свойств, и печатает «con.UserPersonalScore» с соответствующим значением. При нажатии на результат con не имеет дополнительных свойств. Что мне не хватает?
Я предполагаю, что каким-то образом создаю локальные переменные вместо свойств, но почему их не толкают в массив результатов?
Вам необходимо предоставить тестовый пример, который фактически демонстрирует проблему - http://sscce.org/ - вы манипулируете множеством переменных (это, вероятно, может быть упрощено), но не показывает нам, как они определены, и вы утверждаете, что значение 'con' в' result' не показывает нам, как вы это определяете. – Quentin
Пожалуйста, напишите полную json или структуру объекта con –
Здесь, похоже, нет JSON. http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ – Quentin