Javascript 向变量添加值不起作用,只是在
我正在尝试获取Javascript 向变量添加值不起作用,只是在,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我正在尝试获取数量,然后将订单编号添加到其中,然后重新保存数量的值。 目前,它只是将req.body.order添加到消耗品.quantity的末尾,而不是以数字形式添加到它 我不明白为什么它不工作,我有类似的代码使用-,它工作,但+不工作。我确实在谷歌上看到了,我发现的所有东西都是用var1+var2显示的 我确实检查了数据类型,它是数字,输入也是数字类型。我会将它们解析为数字,很可能其中一个是字符串,在这种情况下,它会附加:“5”+5=“55”,“5”-5=0 我会将它们解析为数字,其中
数量
,然后将订单
编号添加到其中,然后重新保存数量
的值。
目前,它只是将req.body.order
添加到消耗品.quantity
的末尾,而不是以数字形式添加到它
我不明白为什么它不工作,我有类似的代码使用-
,它工作,但+
不工作。我确实在谷歌上看到了,我发现的所有东西都是用var1+var2
显示的
我确实检查了数据类型,它是数字,输入也是数字类型。我会将它们解析为数字,很可能其中一个是字符串,在这种情况下,它会附加:
“5”+5=“55”
,“5”-5=0
我会将它们解析为数字,其中很可能有一个是字符串,在这种情况下,它会附加:“5”+5=“55”@StephenMiller是否有一种方法可以使用mongo查看用户帐户每个部分的数据类型。我没有使用mongo,但一般来说,它应该是您在数据库中标记的类型,你可以自己检查一下。如果您还不知道,我会考虑使用lodash,这是一个非常棒的工具库,专为此类任务设计<代码>.\uu.isString(num)=boolean我尝试了您建议的方法,但我使用了原生JS,并使用
var foo=Number(bar)实现了这一点代码>太棒了!如果它解决了您的问题,请将其标记为答案,谢谢!
// 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();
});