【问题标题】:Update field value from DB without using req.body in MongoDB不使用 MongoDB 中的 req.body 从 DB 更新字段值
【发布时间】:2020-01-05 05:49:24
【问题描述】:

我正在尝试从我的数据库中找到的 X 帖子中更新一个值,问题是它将通过触发一个按钮而不是我的前端应用程序中的表单来更新。

我知道从表单发送数据时您需要使用req.body,但是当我不发送任何数据时我该怎么办?

// Fetch post
const post = await Post.findById(req.params.id);
// Get post field and declare newValue according to currentValue
post.hidden === 'yes' ? post.hidden === 'no' : post.hidden === 'yes';

post = await Post.findByIdAndUpdate(req.params.id, post.hidden, {
  new: true,
  runValidators: true
});

res.status(200).json({ success: true, data: post });

这更像是一个使用字符串的布尔字段。每次我向 API 端点发送请求时,我只需要将它从 yes 更改为 no(反之亦然)。

【问题讨论】:

    标签: javascript node.js reactjs mongodb


    【解决方案1】:

    刚刚解决了!如果有人和我有同样的麻烦,更新它的方法是使用不同的更新方法而不是 findByIdAndUpdate。这是答案:

    post.hidden === 'yes' ? (post.hidden = 'no') : (post.hidden = 'yes');
    await post.save();
    res.status(201).json({ success: true, data: post });
    

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多