当前位置: 首页 > 知识库问答 >
问题:

转换到ObjectId失败的值\": 5e1360c5edb2922570aa2611\"在路径\"_id\"为模型\"colt\"错误

郎和通
2023-03-14

我正在创建一个程序来执行CRUD操作,但出现了一个错误:

对于模型“colt\”的路径“\U id\”处的值“:5e1360c5edb2922570aa2611\”转换为ObjectId失败,

这是我的代码:

// here is the route of edit path
app.get("/edit/:ids", (req, res) => {
  colt.findById(req.params.ids, (err, coltz) => {
    if (err) {
      res.redirect("/");
    } else {
      res.render("showedit", { colt: coltz });
    }
  });
});

// here is the update route
app.put("/edit/:ids", (req, res) => {
  colt.findByIdAndUpdate(req.params.ids, req.body.colts, err => {
    if (err) {
      res.send(err);
    } else {
      res.redirect("/show");
    }
  });
});

以下是显示编辑ejs文件:

<h1>HELLO HERE YOU CAN UPDATE</h1>
<form action="/edit/:<%=colt._id%>?_method=PUT" method="POST">
    <input type="text" placeholder="name here" name="colts[name]" value="<%= colt.name  %>">

    <input type="text" placeholder="description here" name="colts[description]" value="<%= colt.description  %>">

    <input type="text" placeholder="img url here" name="colts[url]" value="<%= colt.url  %>">
    <input type="submit">
</form>

这是我的猫鼬模式:

var coltSchema = new mongoose.Schema({
  name: String,
  description: String,
  url: String
});

let colt = mongoose.model("colt", coltSchema);

共有1个答案

吴俊风
2023-03-14

你不必写:在您的链接时使用url参数

<form action="/edit/:<%=colt._id%>?_method=PUT" method="POST"> // remove : from this line

因此,您的路由在id中获得的值仅为:5e1360c5edb2922570aa2611而不是5e1360c5edb2922570aa2611

删除表单操作的:from url

 类似资料:
  • 我看到了几个帖子与类似的我但我仍然得到同样的错误 这是我的用户模式 我的路线 我的应用程序。js 这是我的护照。我正在使用本地护照 passport可以将用户保存到数据库中 模型“用户”的路径“_id”处的值“586cc8b3ea780c071bbe2469”转换为ObjectId失败 我已经构建了两个应用程序,它们使用passport oauth,与上面显示的方式完全相同。所以我不知道为什么我会

  • 嘿,伙计们真的需要一些关于删除路由的帮助。我正在使用RESTful路由,尝试遵循约定,添加删除路由时,我得到错误: CastError:模型"Blog"的路径"_id"处的值"X"转换为ObjectId失败 我已经在stackoverflow上搜索了这个问题,我能想到的最好的版本是猫鼬有一个错误。我把它回滚到V4.10.0,仍然在处理这个问题。我的代码如下:

  • Comments是嵌套在Post架构中的数组。我想通过推送一个新的评论到评论数组更新相应的帖子。但是得到了错误:CastError:对于模型“post”的路径“_id”处的值“comments”,向ObjectId的强制转换失败 阅读相关帖子 尝试使用“mongoose.types.objectid”,但不起作用 猫鼬版^5.5.4 我在这里使用的所有ID都是有效的 我认为问题出在“comment

  • 我试图通过id从mongo检索数据,但当我添加外部链接(如样式文件或脚本文件)时,它工作正常,我收到此错误消息。 消息:“对模型“Blog”路径“_id”处的值“script.js”的转换失败,名称:“CastError”,stringValue:“script.js”,种类:“ObjectId”,值:“script”。js',路径:''u id',原因:未定义,模型:

  • 我正在构建一个应用程序与节点/快递/蒙戈/猫鼬。我遇到了一个似乎无法解决的错误,谷歌搜索到目前为止没有帮助。 我试图创建一个编辑页面,但遇到了一个错误。 Package.json 编辑页面。ejs admin_pages.js 在这篇文章中,我遇到了这个错误

  • 前言:我对猫鼬/Express的工作相对来说是新手。 我试图制作一个应用程序,其中一个名为“space”的猫鼬模式中有一个名为“posts”的数组。数组的内容是对另一个名为“POST”的猫鼬模式的ObjectId引用。然而,每次我对应该发送回我的空间和其中的帖子的路线提出GET请求时,我都会得到一个严重的错误。此外,我的帖子没有填充我的空间。 错误:CastError:对于模型“space”的路径