我正在尝试Meteor的排行榜示例,并且在试图随机化玩家的分数时遇到了一个错误。
我遇到的例外是Exception while simulating the effect of invoking '/players/update' undefined
相关代码如下所示:
'click input.randomize_scores': function () {
Players.find().forEach(function (player) {
random_score = Math.floor(Math.random()*10)*5;
Players.update(player, {$set: {score: random_score}})
});
}
Full leaderboard.js contents here
我觉得我在做一些非常愚蠢的事情。我真的很感激指针。
答案 0 :(得分:15)
update()的第一个参数需要是文档ID或完整的Mongo选择器。您正在传递完整的播放器文档。试试这个:
Players.update(player._id, {$set: {score: random_score}});
这是:
的简写Players.update({_id: player._id}, {$set: {score: random_score}});