javascript - Express POST 后重定向到新的 Mongo 保存的 ID?

标签 javascript mongodb express mongoose

在我的 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/

相关文章:

javascript - CSS 中的反向查找

javascript - 如何增加javascript函数中单选按钮的文本大小

MongoDb 在 NestJs 中的变更流

javascript - 如何从 AngularJS 向本地服务器上的应用发出 $http 请求?

node.js - 如何将 Typescript 定义添加到 Express req 和 res

javascript - 滚动标题

javascript - 来自浏览器控制台的循环 JavaScript 攻击?

java - 使用 Java 3.0.0 驱动程序连接到 MongoDB 2.6.3 (eclipse)

javascript - Mongoose - 如何处理许多错综复杂的关系?下面包含特定的快速挑战示例请求。谢谢

javascript - 带有 Webpack 的 sass-loader 不会生成 CSS