我尝试用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字段后的返回。
1条答案
按热度按时间8wigbo561#
我实际上修复了它。我需要使用findByIdAndUpdate而不是findOneAndUpdate。我以为我以前尝试过,但我猜我在其他地方做了一些更改,导致它在我尝试时无法工作。