【问题标题】:Redirect to new Mongo Saved ID after Express POST?Express POST 后重定向到新的 Mongo Saved ID?
【发布时间】:2019-04-11 18:12:45
【问题描述】:

在我的 POST 请求中,我将一个新文档保存到我的 mongo 数据库中。保存数据库后,我可以对那个确切的文档 ID 执行 res.redirect 吗?我不确定如何做到这一点。我找不到任何教程、文档或 stackoverflow 问题似乎可以准确回答我正在寻找的内容。

我可以这样做吗? :id 是我刚刚保存在 mongoose/mongo 中的文档的 ID 在哪里?

newItem.save().then(res.redirect('/results/:id');

我希望用户提交一个发布请求。我正在通过 mongoose 将信息保存到 mongo 文档中。然后在保存后,我想重定向到一个新的 URL,该 URL 带有该页面上保存项目的 ID。

【问题讨论】:

    标签: javascript mongodb express mongoose


    【解决方案1】:

    当然可以。

    save() 方法可以接受回调,因此您可以获取已保存文档的_id 字段。

    一种方法是:

    newItem.save((err, itemSaved) => {
        if(err) {
            next(err);
        }
        const itemId = itemSaved._id;
        res.redirect('/results/' + itemId);
    });
    

    希望这能解决您的问题。

    附言

    不需要在重定向路径上使用冒号。请注意这一点,因为使用它会给你一个Cast Error

    【讨论】:

    • 好的,非常感谢!我今晚试试!非常感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 2021-05-21
    • 2017-03-23
    • 1970-01-01
    • 2016-07-22
    • 2021-12-04
    • 1970-01-01
    • 2020-04-17
    • 2015-11-04
    相关资源
    最近更新 更多