0

我正在测试 Meteor 示例排行榜,但在从 Mongo 获取数据时遇到问题。

我想要一个按钮来减去分数,但前提是分数 > 0。我的数据库和代码:

数据库:

Players.insert({
            name: "Mike",
            totalscore: [20, 25]
        }); 

代码:

Template.vote.events({
'click input.dec': function () {
    var temp = Players.find(Session.get("selected_player", totalscore[1]));
    if (temp > 0) {
        Players.update(Session.get("selected_book"), {$inc: {totalscore: -1}});
        }
    }
});

JavaScript 控制台:

未捕获的 ReferenceError:未定义总分

4

1 回答 1

0

似乎错误是因为您totalscore[1]Players.find().

您正在更新totalscore,就好像它是一个整数,实际上它存储为一个数组。这与 score 属性完全无关。请使用数字而不是数组来totalscore更新点击事件,如下所示:

var temp = Players.findOne(Session.get("selected_player"));
if (temp && parseInt(temp.totalscore, 10) > 0) {
    Players.update(Session.get("selected_player"), {$inc: {totalscore: -1}});
}
于 2013-08-22T13:02:45.620 回答