7

我正在尝试 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}})
  });
}

完整的 leaderboard.js 内容在这里

我觉得我在这里做了一些非常愚蠢的事情。我真的很感激一个指针。

4

1 回答 1

15

update() 的第一个参数需要是文档 ID 或完整的 Mongo 选择器。您正在传递完整的播放器文档。试试这个:

Players.update(player._id, {$set: {score: random_score}});

这是以下的简写:

Players.update({_id: player._id}, {$set: {score: random_score}});
于 2012-04-11T06:12:37.033 回答