Mongodb - $ inc仅允许数字

时间:2014-09-29 15:08:08

标签: mongodb meteor

我正在尝试创建我的第一个流星应用程序而且我仍然坚持应该是一个简单的过程。以下是我用来首先设置数据库的插入内容;

income.insert({income_acct_name:  "Account 1", income_acct_budget: 0, income_acct_total: 0});
income.insert({income_acct_name:  "Account 2", income_acct_budget: 0, income_acct_total: 0});
income.insert({income_acct_name:  "Account 3", income_acct_budget: 0, income_acct_total: 0});

这是模板;

<template name="income">
  {{#each accounts}}
    <tr>
      <td class="row1"><input type="text" value="{{income_acct_name}}"></td>
      <td class="row2"><input type="text" value="{{income_acct_budget}}"></td>
      <td class="row3">0%</td>
      <td class="row4"><input type="text" value="0" id="income_amt_entered"></td>
      <td class="row5">$ </td>
      <td class="row6"> - </td>
      <td class="row7"></td>
    </tr>
  {{/each}}
</template>

这是抛出错误的助手;

Template.income.events ({
        'change td.row4': function(theEvent, theTemplate) {
            var rowId = this._id;
            Session.set('changedRow', rowId);
            var changedRow = Session.get('changedRow');
            var amount = theTemplate.find('#income_amt_entered').value;
            income.update (
                {"_id": changedRow},
                {$inc: {"income_acct_total": amount}}
            )
            //console.log(amount);
        }
});

所以在我的表格中,我在第4行输入45.50这样的金额来更新&#34; income_acct_total&#34;我得到了那个错误。我使用的Leader Board应用程序中的代码几乎相同。输入的金额在控制台日志中正确显示。

1 个答案:

答案 0 :(得分:2)

尝试从'#income_amt_entered'输入中获取数字:

var amount = parseFloat(theTemplate.find('#income_amt_entered').value);