我在理解JavaScript中的變量操作時遇到了問題。 以下代碼:獲取後向Mongoose Document添加一個新屬性
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」無兩個添加的屬性,並輸出「con.UserPersonalScore」用適當的值。當推送結果時,con沒有附加屬性。我錯過了什麼?
我想我是以某種方式創建局部變量而不是屬性,但爲什麼不被推送到結果數組?從MongoDB的查詢返回
您需要提供一個實際演示問題的測試用例 - http://sscce.org/ - 您正在操縱很多變量(這可能會被簡化),但不會向我們展示它們是如何定義的,並且你在聲明'結果'中'con'的值是什麼沒有告訴我們你是如何確定的。 – Quentin
請編寫完成json或con的對象結構 –
這裏也沒有任何JSON。 http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ – Quentin