2017-12-03 84 views
2

我想採取quantity然後將order號碼添加到它然後重新保存值quantity將值添加到變量不工作只是追加

// update expendable quantity POST 
    app.post('/dashboard/it/expendable/:id', 
    setRedirect({auth: '/login', success: '/dashboard/it/expendable', failure: '/dashboard/it/expendable'}), 
    isAuthenticated, 
    (req, res, next) => { 
     Expendable.findById(req.parms.id, function(err, expendable) { 
     if (err) return (err); 
     expendable.quantity = expendable.quantity + req.body.order; 
     expendable.save(function(err) { 
      if (err) return (err); 
      req.flash('success', { msg: 'Expendable checked out.' }); 
      res.redirect(req.redirect.success); 
     }); 
     }); 
     next(); 
    }); 

目前,它只是增加了req.body.orderexpendable.quantity結束而不是將其數字加給它的。

我不明白爲什麼它不工作,我有類似的代碼使用-和它的作品,但但+不。我確實看過谷歌,看到我發現的一切只顯示var1 + var2

我沒有檢查數據類型,它是數字,輸入也是數字類型。

+1

我會分析它們爲數字,它是最有可能其中之一是一個字符串,在這種情況下,它附加:「5」+ 5 =「55」 –

+0

@StephenMiller有沒有一種方法可以使用mongo查看用戶帳戶每個部分的數據類型。 – joshk132

+0

我沒有使用過mongo,但通常它應該是您在數據庫中標記的類型,您可以自己檢查類型。如果你還沒有使用lodash,那麼這是一個非常棒的工具庫,專爲這類任務設計。 '_.isString(num)== boolean' –

回答

3

我會分析它們爲數字,它最有可能是其中之一是一個字符串,在這種情況下,追加:"5" + 5 = "55""5" - 5 = 0

example of adding and minus with a string

+0

我嘗試了你的建議,但我使用了原生JS,並用'var foo = Number(bar);' – joshk132

+0

做得很棒!如果它解決了您的問題,請將其標記爲答案,謝謝! –