2012-04-11 6 views
7

Meteor's Leaderboardの例を試しています。プレイヤーのスコアをランダム化しようとする際にバグに遭遇しています。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}}); 
+0

恐ろしい! Mongoの紹介に感謝します:) –