我正在为一个网站建立一个管理面板,在那里你可以执行不同的操作,比如删除/编辑/创建条目。
我有一个更新所选项目的put请求,但不管url中传递的id是什么,它都会更新集合的第一个条目。这只发生在通过 Postman 进行操作时,而如果我尝试直接在管理面板中执行此操作,它会给我500个内部服务器错误,并且没有任何更改。
这是我的代码:
router.get('/:id', (req, res) => {
Team.findOne({ id: req.params.id })
.exec((err, team) => err ? res.json(err) : res.json(team));
});
router.put('/:id', (req, res) => {
Team.findOneAndUpdate(req.params.id, req.body, (err, team) => {
if (err) return res.status(500).send(err);
return res.send(team);
})
});
(“团队”是我的 Mongoose 模式)。我做错了什么?提前谢谢!
更好的方法是使用补丁而不是put吗?我读到put主要用于完全替换条目,而补丁更适合部分更新。如果是这样,我如何调整上述代码以使用补丁?
暂无答案!
目前还没有任何答案,快来回答吧!