gpt4 book ai didi

javascript - 获取后向 Mongoose 文档添加新属性

转载 作者:IT老高 更新时间:2023-10-28 13:31:20 26 4
gpt4 key购买 nike

我在理解 JavaScript 中的变量操作时遇到了问题。以下代码:

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 查询返回的对象处于卡住(不可变)状态

您的代码似乎与 MongoDB 交互。返回的对象实际上是一个 Mongodb 模型实例,而不是一个普通的 javascript 对象。您不能修改从查询返回的对象。

将 Mongodb 文档转换为 JSON 对象

.toObject()成功了。它将卡住的 MongoDB 文档转换为 JSON 对象。

关于javascript - 获取后向 Mongoose 文档添加新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com