在我的 POST 请求中,我将一个新文档保存到我的 mongo 数据库中。保存数据库后,我可以对确切的文档 ID 执行 res.redirect 操作吗?我不确定如何做到这一点。我找不到任何教程、文档或 stackoverflow 问题似乎能准确回答我正在寻找的内容。
我可以做这样的事情吗?其中 :id 是我刚刚保存在 mongoose/mongo 中的文档的 Id?
newItem.save().then(res.redirect('/results/:id');
我希望用户提交发布请求。我通过 mongoose 将信息保存到 mongo 文档中。然后保存后,我想重定向到一个新的 URL,其中包含该页面上已保存项目的 ID。
最佳答案
当然可以。
save()
方法可以接受回调,以便您可以获得已保存文档的 _id
字段。
一种方法是:
newItem.save((err, itemSaved) => {
if(err) {
next(err);
}
const itemId = itemSaved._id;
res.redirect('/results/' + itemId);
});
希望这能解决您的问题。
附注
无需在重定向路径上使用冒号。请注意这一点,因为使用它会给你一个Cast Error
。
关于javascript - Express POST 后重定向到新的 Mongo 保存的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55638825/