2012-04-11 23 views
7

Tôi đang thử ví dụ về Bảng thành tích của Meteor và đang chạy vào một lỗi khi cố gắng ngẫu nhiên điểm số của người chơi.Lỗi săn trong bản cập nhật bộ sưu tập Meteor

Ngoại lệ tôi đánh là Exception while simulating the effect of invoking '/players/update' undefined

Mã liên quan như sau:

'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

tôi nhận được cảm giác tôi đang làm một cái gì đó khá ngớ ngẩn ở đây. Tôi thực sự đánh giá cao một con trỏ.

+0

Đó là một thông báo lỗi khá vô ích. –

Trả lời

15

Đối số đầu tiên cần cập nhật() cần phải là ID tài liệu hoặc bộ chọn Mongo đầy đủ. Bạn đang chuyển tài liệu trình phát hoàn chỉnh. Hãy thử điều này:

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

mà là viết tắt cho:

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

Tuyệt vời! Cảm ơn bạn đã giới thiệu Mongo :) –

Các vấn đề liên quan