PUT不工作/保存数据

时间:2017-11-06 16:34:54

标签: javascript html node.js mongodb mongoose

我正在尝试这样做,以便当用户单击一个复选框时值为true但是当它们未选中时,它将变为false。我想要它,所以默认为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'},

我为复选框提供的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);
        });
      });

有什么问题?我从另一条路线中取出代码并对其进行修改以查看我是否只是错误地写了路线的基本部分,我说那部分是正确的,所以我很确定这与查询有关。

0 个答案:

没有答案