不要工作/保存数据

我想这样做,当用户点击一个checkbox,该值是真实的,但是当他们离开它取消选中它将变为假。 我想要它,所以他们默认为true。 我有以下作为我的用户模型的一部分。

我的用户模型的一部分:

newsletterEmail: { type: Boolean, default: 'true'}, lowerLimitEmail: { type: Boolean, default: 'true'}, featuresEmail: { type: Boolean, default: 'true'}, assetOut180: { type: Boolean, default: 'true'}, lowerLimit: { type: Boolean, default: 'true'}, 

我有这个checkbox的HTML是:

 <div class="form-check"> <label class="form-check-label"> <input class="form-check-input" name="newsletterEmail" type="checkbox" value="true"> Newsletter notifications </label> </div> 

然后在我的路线我有这个查询:

 User.findById(req.user.id, function(err, user) { if (err) return (err); user.newsletterEmail = req.body.newsletterEmail || false; user.lowerLimitEmail = req.body.lowerLimitEmail || false; user.featuresEmail = req.body.featuresEmail || false; user.assetOut180 = req.body.assetOut180 || false; user.lowerLimit = req.body.lowerLimit || false; user.save(function(err) { if (err) return (err); req.flash('success', { msg: 'Notification Settings Updated.' }); res.redirect(req.redirect.success); }); }); 

哪里不对? 我从另一条路线上取走了代码,并修改了它,看看我是不是写了错误的路由的基本部分,那部分是对的,所以我非常确定是和查询有关。