使用mongoose和axios从mongodb文档中删除字段

2lpgd968  于 2022-12-18  发布在  Go
关注(0)|答案(1)|浏览(139)

我尝试用mongoose和axios在前端删除一个mongodb文档中的字段。当我在postman中使用它时,我的路由工作正常-它会删除字段,没有问题,但是当我尝试将它连接到axios在前端时,它不工作。我没有得到错误或任何东西。任何帮助都是非常感谢的。下面是我的代码。
默认路径为/billet,因此此路径为/billet/person/{id}

router.put("/person/:id", async (req, res) => {
  try {
    const updatedBillet = await Billet.findOneAndUpdate(
      req.params.id,
      { $unset: { person: "" } },
      { new: true }
    );
    res.status(200).json(updatedBillet);
  } catch (error) {
    console.log(error);
  }
});
const handleRemovePerson = async (e) => {
    e.preventDefault();
    try {
      await axios.put(`/billet/person/${id}`);
    } catch (error) {
      console.log(error);
    }
  };

下面是在postman中工作的请求图片。Before是执行get时的原始返回,after是运行put以删除person字段后的返回。

8wigbo56

8wigbo561#

我实际上修复了它。我需要使用findByIdAndUpdate而不是findOneAndUpdate。我以为我以前尝试过,但我猜我在其他地方做了一些更改,导致它在我尝试时无法工作。

相关问题